109
112
110
109
115
116
116
120
122
123
127
131
133
134
138
140
142
144
145
147
148
149
151
152
152
153
153
153
153
152
152
152
151
148
145
143
141
140
139
136
132
130
127
125
123
121
119
117
114
112
110
108
107
106
106
105
105
104
104
104
105
105
106
108
109
111
113
116
118
120
122
125
127
129
132
134
136
139
141
143
145
147
148
150
151
153
154
153
152
152
152
152
152
152
149
147
145
143
141
140
138
135
133
131
128
126
124
122
120
118
116
114
112
110
108
107
106
105
105
104
105
104
105
105
107
108
109
110
112
114
116
119
121
123
125
127
130
133
136
139
142
143
144
145
146
148
151
152
153
153
152
153
152
152
152
151
149
147
145
144
142
140
138
137
134
132
129
127
125
122
120
118
115
114
112
111
109
108
107
106
105
105
105
104
105
105
106
107
109
111
112
115
117
119
121
124
125
126
127
130
134
137
138
140
142
143
145
147
149
150
152
153
152
153
153
153
152
152
150
149
147
145
144
141
139
137
135
133
131
128
127
124
122
119
117
115
112
110
108
107
105
104
103
104
104
105
105
106
107
108
109
109
111
112
115
117
121
122
124
126
127
131
133
137
139
142
143
145
146
148
149
150
152
152
152
153
153
152
152
151
150
149
148
146
144
142
140
138
136
133
131
128
126
124
122
119
117
115
113
111
110
108
107
107
106
105
103
103
104
105
107
107
108
108
109
111
113
116
119
121
124
126
128
130
133
136
139
141
143
145
147
148
149
150
151
152
153
153
153
152
153
151
151
149
148
146
144
142
140
138
136
134
131
128
127
125
122
121
119
116
113
110
109
109
108
107
105
103
103
102
103
103
105
106
107
108
108
111
115
116
118
122
127
124
126
134
135
133
136
140
145
143
142
149
154
151
150
153
153
154
154
152
151
151
150
149
148
146
144
143
141
139
138
135
131
127
126
123
122
121
119
117
113
107
107
113
104
101
107
105
105
103
103
108
107
105
109
110
109
112
115
115
117
121
124
126
128
131
134
136
138
140
143
144
145
147
149
150
151
152
153
153
153
153
153
153
152
150
148
145
142
142
141
140
137
134
131
128
127
124
122
120
118
115
113
111
110
108
107
106
106
105
104
104
104
105
105
106
108
108
111
111
114
115
118
120
123
125
127
129
132
135
137
139
141
144
146
148
149
151
153
153
154
152
152
152
153
153
152
150
148
146
144
142
140
139
137
134
131
129
127
125
123
121
119
117
115
112
111
108
107
106
105
105
104
104
104
105
105
106
107
108
110
111
114
116
118
120
122
125
127
129
131
134
137
140
142
143
144
145
148
150
152
152
152
152
151
152
151
152
152
150
148
147
145
143
142
140
138
136
134
131
128
126
123
121
119
116
115
113
111
110
108
107
106
105
105
104
104
104
105
105
106
107
109
111
113
115
117
121
122
124
125
127
130
133
136
138
140
141
142
144
146
148
150
151
152
152
152
152
153
152
152
151
150
149
147
145
143
140
138
136
134
131
129
127
125
122
120
118
116
113
111
110
108
107
105
105
104
104
104
105
106
106
108
108
109
110
112
114
118
119
121
123
125
127
129
132
134
137
139
141
143
144
147
148
150
151
152
152
153
152
153
152
151
150
150
149
147
146
144
142
140
138
135
133
130
127
126
123
121
119
117
114
112
110
109
107
106
105
103
102
102
103
104
105
106
106
107
108
110
113
115
117
120
121
124
126
128
131
134
137
140
142
144
147
148
149
150
152
152
153
153
153
153
152
152
150
149
148
147
145
143
141
139
137
134
132
129
127
125
123
121
119
116
112
111
109
106
111
114
105
102
107
107
100
101
107
107
102
102
109
113
112
113
119
120
122
125
126
127
129
133
135
138
140
143
145
147
148
150
152
152
153
155
156
155
150
148
156
150
144
150
148
143
142
142
142
138
130
127
128
123
122
123
118
115
115
112
110
108
108
108
107
105
104
104
104
105
105
106
107
109
110
111
112
114
116
119
122
124
126
127
129
132
135
137
139
142
144
146
147
149
150
151
152
153
153
154
153
154
153
152
149
147
145
144
143
141
139
135
132
129
127
125
124
122
120
117
114
112
111
110
108
107
106
106
105
104
104
104
105
106
107
108
110
111
112
115
116
119
121
124
125
127
129
132
134
136
139
141
144
146
148
150
152
152
153
152
152
153
153
154
153
152
149
148
145
144
142
141
138
136
133
131
128
126
125
122
120
118
116
113
111
110
108
107
105
105
104
105
104
104
105
105
107
108
109
111
112
114
116
118
121
123
126
127
130
132
135
138
140
141
142
144
146
149
151
151
151
151
151
151
152
152
152
150
150
148
146
144
143
141
139
137
134
132
129
127
125
123
120
118
116
114
112
111
109
108
107
106
105
104
104
105
105
105
107
107
109
110
112
114
116
119
121
123
124
126
129
132
135
137
139
140
142
143
145
147
149
150
151
152
152
152
152
153
152
152
151
149
148
145
144
141
139
137
135
133
130
128
126
124
122
119
117
115
113
111
109
108
107
106
105
104
104
104
105
105
107
107
107
108
110
113
115
118
120
122
123
126
127
131
133
136
138
140
142
144
146
148
150
151
152
152
153
152
153
152
152
151
150
149
148
146
144
142
141
139
137
134
132
129
127
125
122
120
118
115
113
111
110
109
108
107
105
103
103
104
105
106
106
106
106
107
109
111
113
116
118
120
123
125
127
130
133
136
138
141
142
144
146
147
149
150
152
153
153
153
154
153
153
152
152
150
148
146
146
144
142
139
135
134
131
128
127
126
123
121
118
115
112
110
110
109
107
105
104
103
102
102
103
104
105
106
107
109
110
112
115
116
119
121
124
126
127
129
132
134
138
140
143
145
146
148
149
149
153
158
150
151
157
154
150
150
151
151
146
143
146
146
141
139
138
133
131
129
126
124
123
120
117
115
111
110
109
108
107
107
105
104
104
104
104
105
106
108
110
110
106
109
118
112
113
121
123
126
126
129
136
137
135
140
142
142
145
148
148
149
152
153
153
154
154
155
155
154
153
152
148
146
145
144
142
140
136
134
130
128
126
124
122
120
117
115
112
110
110
108
107
107
106
105
104
104
105
105
104
106
107
109
111
112
114
116
118
121
123
125
127
129
132
133
136
137
140
141
144
145
147
150
151
152
151
152
153
153
154
153
152
151
150
147
145
144
143
141
138
135
132
130
128
126
124
122
119
117
114
112
109
108
107
106
105
105
104
103
104
104
105
105
107
108
110
111
113
115
117
120
122
124
127
129
131
134
136
138
140
141
142
146
148
150
150
151
151
151
152
152
152
152
152
150
149
147
146
145
143
141
139
137
134
132
129
127
124
122
120
118
115
113
111
110
108
107
106
105
105
104
104
104
104
105
106
108
109
111
112
115
117
120
121
122
124
127
130
133
136
137
139
140
142
144
146
148
149
151
151
152
152
152
152
153
152
151
149
148
147
145
143
141
139
136
135
132
130
127
125
123
121
119
116
114
112
111
109
107
106
106
105
104
104
104
105
106
106
106
107
108
111
114
116
118
119
122
124
127
129
132
134
137
139
141
143
145
148
149
151
152
153
153
153
153
153
153
152
151
150
149
147
146
144
142
139
137
134
132
129
127
126
123
121
119
117
114
113
111
110
110
108
106
104
103
103
105
105
106
105
106
107
108
110
112
115
117
119
121
124
126
128
131
134
136
138
141
143
144
146
148
149
151
152
152
151
154
161
154
149
155
155
146
145
147
146
139
135
138
139
133
128
128
127
125
123
119
114
113
111
111
109
108
106
104
103
103
103
104
105
105
107
109
108
105
107
117
114
111
122
124
123
125
129
133
134
133
138
142
142
144
148
148
150
153
154
153
153
154
155
154
153
151
151
150
148
147
145
143
141
139
135
132
130
127
127
125
121
118
115
113
111
110
109
108
106
105
104
103
103
103
105
105
106
107
108
109
111
112
114
116
119
121
124
126
128
130
133
136
138
140
143
144
146
148
149
150
152
152
153
153
154
154
155
153
151
149
148
147
146
144
142
139
135
133
130
127
126
124
122
119
117
114
112
111
110
108
107
106
105
105
103
103
103
105
105
106
108
109
110
111
114
116
118
121
123
125
127
129
132
134
137
140
142
144
146
148
150
151
151
152
151
152
153
154
154
153
151
149
148
147
146
144
142
140
136
134
131
129
127
124
122
121
118
115
112
110
110
108
108
106
105
104
104
104
104
104
106
107
108
109
111
112
114
116
118
121
123
125
127
130
132
135
137
137
138
141
144
147
149
149
149
150
151
151
152
152
152
152
151
150
149
147
145
144
143
140
138
135
133
131
128
126
124
121
119
117
114
112
110
109
107
106
105
104
104
103
103
104
105
105
107
108
110
111
114
116
118
120
121
123
126
129
131
134
136
138
139
141
144
146
147
149
150
151
151
152
153
152
153
152
152
150
149
147
146
144
142
140
138
136
133
132
129
127
125
123
120
118
116
113
111
110
109
107
106
105
104
103
104
105
105
106
105
106
108
111
113
115
116
118
120
122
125
127
130
133
135
137
139
141
143
146
148
150
152
153
153
153
153
153
152
152
152
151
150
148
147
144
143
140
139
136
134
131
129
127
124
122
119
117
115
113
111
110
110
108
106
104
104
103
105
105
105
105
106
106
107
109
112
115
117
118
119
122
125
127
130
133
135
137
141
142
144
145
147
149
150
151
152
153
153
153
154
153
152
152
151
149
147
145
143
140
139
136
134
131
129
127
125
123
120
117
115
114
112
111
109
108
105
104
103
103
103
104
105
105
106
107
109
110
112
114
116
119
120
123
125
127
129
131
134
137
139
141
144
145
147
148
150
151
152
153
153
153
153
153
152
151
150
149
147
145
142
144
145
134
131
136
131
127
126
124
123
116
111
113
113
109
108
108
105
104
105
103
102
104
104
104
106
106
107
110
111
113
116
118
120
122
125
127
129
132
135
138
139
137
140
151
144
144
152
151
153
152
153
158
156
152
153
152
148
148
148
146
144
144
141
137
134
132
131
129
126
123
121
117
115
114
111
110
109
108
107
105
104
104
104
104
104
105
105
107
107
109
111
113
115
117
120
122
124
127
128
131
133
136
138
140
142
144
147
149
150
151
151
151
152
153
154
153
152
151
149
148
147
145
144
142
140
138
136
133
131
129
127
125
123
120
117
115
112
111
109
107
107
106
105
105
104
104
105
105
105
106
107
108
111
112
114
117
119
121
124
126
128
131
134
136
137
138
141
143
147
148
149
150
150
151
151
152
153
154
153
152
150
149
148
147
145
143
141
139
137
134
130
127
126
124
122
120
118
115
113
112
110
109
107
106
105
104
104
104
104
104
105
106
107
109
111
113
115
118
120
121
122
125
127
131
133
135
135
138
140
141
144
145
147
148
150
151
152
153
153
154
153
152
151
150
148
146
144
143
141
139
138
135
133
130
128
126
124
121
119
117
114
112
110
108
106
106
104
104
103
104
105
105
105
105
106
107
110
112
114
116
117
119
122
124
127
129
131
134
136
138
140
143
145
147
149
150
152
152
152
152
153
152
152
152
151
150
149
148
146
144
142
140
138
135
133
131
128
126
124
121
119
117
115
113
111
110
108
105
103
103
103
104
105
105
103
104
103
103
113
115
109
115
122
119
118
124
129
128
127
132
139
141
140
143
146
147
149
150
150
150
152
153
153
153
152
152
152
150
149
147
145
144
143
141
141
134
127
132
132
123
123
125
118
114
115
115
116
110
106
108
105
102
104
104
103
105
107
106
105
107
109
111
113
114
117
119
121
123
126
127
130
132
136
138
140
143
145
147
149
150
151
152
153
153
153
153
153
152
152
151
150
148
146
145
143
140
137
134
132
131
129
127
124
121
118
116
114
112
111
110
108
106
106
104
104
104
104
104
105
106
107
108
109
111
112
114
116
118
121
124
126
127
130
132
135
137
140
142
144
146
148
149
151
152
153
153
153
154
154
154
151
150
148
148
147
145
143
140
138
134
132
130
128
127
124
121
119
117
115
113
111
110
109
108
107
106
105
104
104
104
105
106
107
108
109
111
112
115
116
119
120
123
125
127
129
132
134
137
139
141
143
146
148
149
150
150
151
152
153
154
154
153
152
150
149
148
146
145
143
141
139
137
134
132
130
127
126
123
120
118
116
113
111
110
108
108
106
106
105
105
105
105
105
106
107
107
109
110
111
113
115
118
120
122
125
127
129
133
134
136
138
140
143
146
147
148
149
150
150
150
152
152
153
152
152
151
150
148
148
146
144
143
140
137
135
133
130
127
126
124
122
119
117
115
113
111
110
108
107
106
105
104
104
103
104
105
105
106
108
110
112
114
115
117
118
121
123
126
129
131
133
135
137
139
141
144
146
148
149
151
151
152
153
153
153
153
153
152
151
149
148
146
145
143
141
140
137
134
130
129
127
126
123
119
118
115
113
111
109
108
107
106
105
104
105
105
105
105
104
105
106
110
112
114
115
117
118
121
123
126
127
130
133
134
136
139
141
143
145
147
149
150
151
152
152
153
153
153
152
152
151
149
148
149
145
144
141
138
137
134
132
130
127
125
124
122
119
116
115
114
111
108
106
104
103
103
104
104
104
103
105
105
106
107
110
111
113
115
117
120
122
124
127
129
133
135
138
140
143
145
147
148
150
150
152
152
152
153
153
153
152
152
150
149
148
147
145
143
141
139
137
134
132
130
128
127
123
121
118
117
115
114
111
109
107
105
104
103
103
104
104
104
104
104
106
107
109
111
113
115
117
119
121
123
126
128
131
134
136
139
142
144
146
148
149
151
152
153
153
153
153
153
153
152
151
150
149
148
147
145
142
139
136
134
132
130
127
125
122
119
117
115
112
110
114
111
102
107
109
105
102
104
106
106
102
103
109
109
108
111
114
115
118
120
121
123
126
128
130
133
135
137
140
142
144
146
147
149
151
152
153
155
155
155
157
152
145
151
153
144
146
146
143
140
134
136
136
129
126
127
123
119
119
116
113
112
112
110
108
107
107
106
106
104
105
105
105
106
107
109
109
111
113
115
117
119
122
124
126
128
130
132
135
137
139
141
144
146
148
148
149
149
151
153
153
153
153
152
151
149
148
147
146
144
143
139
138
135
133
131
129
127
125
122
119
117
115
113
111
109
108
107
106
105
105
105
105
105
105
106
107
108
109
111
112
115
117
120
121
124
126
128
131
132
134
135
138
140
144
145
147
147
148
149
150
152
152
153
152
152
151
150
149
148
147
145
144
141
139
137
134
131
129
127
125
123
120
118
116
114
112
110
108
107
106
105
104
104
104
104
105
105
107
108
109
111
113
115
116
117
120
123
126
127
129
132
133
135
137
140
142
145
146
148
149
149
151
152
153
153
153
153
152
151
150
148
147
145
144
142
139
137
135
132
130
127
126
123
121
119
117
114
112
111
109
109
107
105
104
105
105
106
105
104
104
106
108
110
111
113
114
116
119
121
123
126
128
130
133
135
138
140
142
145
147
149
150
151
151
152
153
154
153
153
152
152
151
150
148
145
144
142
139
134
138
139
128
127
130
126
118
118
119
116
110
108
112
111
105
104
107
106
105
105
104
102
103
105
106
108
110
111
114
116
118
121
123
127
128
131
136
135
132
138
146
141
141
150
151
150
152
155
157
155
152
155
154
150
151
151
147
146
146
144
140
138
138
136
133
130
127
125
121
118
117
115
113
112
110
107
105
103
103
103
103
103
103
103
103
105
106
108
110
112
114
116
118
120
122
125
127
129
133
135
138
141
144
145
147
149
150
151
152
153
154
154
154
153
153
152
150
150
148
148
145
144
140
138
136
134
133
130
127
124
121
119
116
115
113
111
110
108
106
106
105
105
105
105
105
105
106
106
107
108
110
111
113
116
118
120
123
125
127
130
132
135
137
139
141
143
145
147
148
150
151
152
153
154
154
154
152
151
151
150
150
148
146
144
141
139
135
134
132
129
127
125
122
119
118
115
114
112
110
109
108
106
105
104
104
104
104
105
105
106
107
109
111
112
114
116
118
120
122
124
127
129
132
134
136
139
141
144
146
147
148
149
149
151
153
154
154
153
152
151
150
149
148
147
146
144
141
139
137
134
132
131
128
126
124
121
119
116
114
112
111
109
108
107
106
105
105
104
104
104
105
106
107
108
110
112
113
115
118
120
122
125
127
130
131
133
135
137
140
143
145
146
147
148
149
150
151
153
153
153
153
152
151
150
149
148
146
145
143
140
138
135
133
131
128
127
124
122
120
118
115
113
111
110
108
107
105
105
104
104
104
105
105
106
107
109
110
112
114
114
116
117
121
124
127
128
130
132
134
137
139
142
144
145
147
148
149
150
152
152
153
153
153
152
152
150
149
148
146
145
143
141
139
137
134
131
129
127
125
123
120
118
116
114
112
110
108
107
106
106
105
106
105
105
104
104
105
107
111
112
114
114
115
117
119
121
125
127
129
131
134
137
138
141
144
146
146
148
150
150
151
152
153
153
153
153
153
152
150
149
147
146
144
142
139
137
135
132
129
127
125
123
121
119
117
115
113
111
108
105
105
105
105
105
104
103
103
105
105
106
108
110
111
113
115
117
119
122
125
127
129
131
134
136
138
139
143
145
147
148
150
151
152
153
154
154
154
154
153
152
151
149
148
146
144
142
140
137
135
133
131
128
125
122
119
118
117
115
112
110
108
106
105
104
103
104
104
103
103
104
105
106
108
110
111
113
116
117
120
122
124
127
129
131
134
136
139
141
143
145
147
148
150
150
152
152
153
153
153
153
152
152
151
150
149
147
145
142
139
137
136
134
131
127
125
122
120
118
116
114
112
110
108
107
105
105
104
104
105
104
105
104
105
105
107
114
111
108
118
120
118
120
124
128
129
127
133
139
138
140
144
145
146
149
149
149
151
151
152
154
153
151
150
150
150
150
148
146
144
142
138
136
135
133
131
131
123
119
126
120
112
117
116
114
111
108
111
110
104
105
106
104
104
106
106
105
108
110
110
112
114
117
120
121
123
126
127
129
132
135
137
139
143
145
147
148
147
149
151
153
153
154
153
152
151
150
149
148
147
145
144
141
139
137
135
133
131
129
127
125
122
121
118
116
114
112
111
110
108
107
106
105
105
104
105
105
105
107
107
109
111
112
114
117
118
121
124
127
128
130
131
133
136
138
141
144
145
146
147
149
150
151
152
153
153
153
152
151
151
150
149
147
145
143
141
139
136
133
132
129
127
126
123
121
118
116
114
112
110
109
108
107
106
105
104
104
105
105
106
106
108
110
111
112
113
114
117
120
123
126
127
129
131
133
135
137
140
142
144
146
148
149
151
152
153
153
153
153
153
152
150
150
149
147
145
144
142
140
138
135
133
131
128
126
124
121
119
117
114
113
111
109
108
107
106
106
106
105
104
103
103
105
107
108
110
110
112
113
116
118
121
123
125
127
127
138
139
134
141
148
145
144
148
152
150
147
150
155
155
152
153
154
152
151
150
147
145
144
143
140
137
135
132
131
128
127
125
122
120
119
117
117
110
102
109
109
101
104
108
104
102
103
105
108
105
105
110
110
110
114
116
117
122
126
127
128
131
134
136
138
139
141
144
145
147
149
150
151
152
153
153
155
154
153
151
151
150
148
146
144
143
141
139
137
135
132
130
127
123
121
119
118
116
113
111
109
107
105
104
104
103
103
103
103
103
104
106
108
110
111
112
114
117
119
121
123
125
127
130
133
135
137
140
142
144
146
147
149
150
151
152
152
153
153
153
152
152
152
151
150
148
146
143
140
139
137
135
132
129
127
124
121
119
117
115
113
111
109
108
107
105
105
105
104
105
104
105
105
106
107
108
110
112
114
116
118
121
122
125
127
130
132
134
137
139
141
143
145
146
148
150
151
152
154
155
153
152
151
151
152
151
150
148
145
143
141
139
137
135
132
129
127
125
122
120
118
116
114
113
110
109
107
106
105
105
104
104
104
104
105
106
107
108
110
111
114
115
118
119
122
124
127
128
131
134
136
139
141
144
145
146
146
148
150
152
153
153
153
152
152
151
151
150
149
148
146
144
141
140
137
136
134
132
129
127
124
122
119
117
115
113
111
109
108
107
106
105
104
104
104
104
105
106
106
108
110
111
112
115
117
119
122
124
127
127
129
131
134
137
141
143
144
145
147
148
150
151
152
153
153
153
152
152
151
150
150
148
146
144
142
140
138
135
133
131
129
127
125
123
120
118
116
113
111
110
109
107
106
105
105
105
105
105
105
106
107
109
110
111
111
112
115
117
120
123
125
126
128
131
133
136
139
142
143
145
146
148
149
151
152
153
154
154
153
152
151
152
152
150
148
145
144
142
139
137
135
131
129
127
125
123
120
118
116
114
111
111
109
107
106
107
106
105
104
104
104
106
107
108
109
109
111
112
114
116
118
121
124
127
128
130
133
136
139
141
144
145
147
148
149
150
152
153
154
154
154
154
153
153
151
150
148
146
144
142
140
137
134
132
130
127
125
123
121
119
117
115
111
109
107
107
106
105
105
104
103
103
103
104
105
106
108
109
111
112
115
117
120
122
125
127
129
131
133
136
138
140
143
145
147
149
150
152
152
153
153
153
154
153
152
152
151
149
147
146
144
143
140
139
137
135
131
127
125
123
122
120
117
114
112
109
107
106
105
105
104
103
103
103
103
104
105
107
108
110
111
113
115
117
119
121
124
126
128
131
134
137
140
141
142
144
146
149
149
150
151
152
153
153
153
152
153
152
152
150
149
146
144
142
140
139
136
133
130
127
125
123
120
119
117
114
112
111
110
108
107
105
106
105
105
104
104
104
105
106
107
109
110
113
115
117
119
122
124
127
128
130
132
135
136
140
147
143
143
152
152
149
151
154
156
152
148
152
155
152
150
151
148
145
145
141
138
137
136
133
132
128
126
124
122
120
118
116
113
112
110
108
106
106
106
106
106
99
102
110
103
102
110
110
112
111
113
121
120
119
124
127
127
130
134
135
137
141
144
144
144
145
149
151
152
152
153
152
151
151
151
150
150
150
149
146
145
143
141
139
137
135
132
129
127
125
122
120
117
115
113
112
110
109
107
106
105
105
105
104
104
104
105
106
107
109
111
112
114
116
118
121
124
126
127
128
131
134
137
139
141
142
144
145
147
148
150
151
153
153
153
153
152
152
152
151
149
148
147
145
142
140
137
135
132
130
127
126
124
121
119
117
115
112
111
109
107
106
105
105
104
104
104
105
106
107
108
109
110
111
112
115
118
120
123
124
126
127
129
132
134
138
141
143
144
146
147
149
152
153
153
154
154
154
153
152
150
150
149
148
146
144
142
140
138
136
133
131
129
127
124
121
119
115
111
115
117
107
105
111
110
104
104
106
105
101
101
108
111
108
108
111
112
113
116
117
118
121
124
126
128
131
134
137
140
143
144
146
147
149
151
155
153
146
152
157
150
149
155
153
151
150
150
150
145
140
140
137
132
131
129
126
124
124
122
118
116
114
111
109
108
107
106
105
103
103
102
102
103
105
105
107
109
110
112
114
117
119
122
124
127
127
130
131
134
136
138
141
143
145
146
148
150
152
152
153
153
154
154
153
153
152
150
149
147
146
144
142
140
139
136
132
128
127
125
123
121
118
116
113
111
109
108
106
106
105
104
103
103
103
104
105
106
108
109
111
112
114
116
118
121
122
125
127
129
132
134
136
139
141
143
145
147
148
150
151
152
153
154
154
154
153
153
153
152
149
146
144
143
142
140
137
134
131
129
127
124
122
120
119
116
114
111
110
108
107
106
105
105
105
104
104
104
105
106
107
108
110
111
114
116
119
120
122
125
127
130
132
134
136
139
141
143
145
147
149
150
152
153
154
153
152
152
153
152
152
150
148
146
144
143
140
139
137
135
132
130
127
125
122
121
120
118
115
112
111
109
108
107
106
105
105
105
105
105
105
107
107
109
110
111
113
115
117
119
122
124
127
128
131
134
137
140
141
142
144
145
147
149
151
152
152
152
152
152
152
151
151
150
149
147
145
144
142
141
138
136
134
132
129
127
124
122
120
117
115
113
112
110
109
107
107
105
105
104
104
104
105
105
106
108
109
111
112
115
117
120
122
124
125
127
129
133
136
138
140
142
143
145
146
148
149
151
152
152
152
152
152
153
152
151
150
148
147
144
143
140
138
136
134
132
129
127
126
123
121
119
117
115
112
111
109
107
106
105
104
104
104
104
105
108
108
110
109
109
111
113
115
119
121
122
124
127
128
130
133
136
139
140
142
145
147
148
150
152
152
153
153
154
153
153
152
151
150
149
148
146
144
142
139
137
135
132
130
127
126
123
121
118
116
113
111
110
109
107
107
106
105
103
103
103
105
106
107
107
108
109
110
113
115
118
120
123
125
127
129
131
134
136
139
141
143
145
147
147
149
150
151
152
153
154
153
153
152
152
151
150
148
146
144
142
140
137
135
133
131
128
126
124
122
120
118
114
111
110
109
109
107
105
104
103
102
102
103
104
106
107
108
108
109
111
113
116
119
122
124
127
129
131
133
136
138
140
143
144
146
148
149
151
152
152
153
153
153
153
153
153
151
150
148
147
145
144
141
139
136
132
129
127
125
123
121
119
116
114
111
110
108
107
106
105
104
103
103
103
104
105
106
107
109
110
111
113
115
117
119
122
124
127
128
130
132
135
137
140
142
144
146
147
149
150
152
152
152
153
153
153
153
153
152
151
147
146
145
144
143
140
137
134
131
128
126
123
122
119
117
114
112
110
109
108
107
106
105
104
103
103
103
104
105
106
107
108
111
112
115
117
120
122
125
126
128
131
132
136
137
139
140
142
144
152
150
147
155
156
151
150
152
155
153
148
149
152
148
144
144
143
140
140
137
133
131
129
127
125
123
120
119
116
113
111
110
108
108
106
104
104
105
105
106
107
101
102
113
109
105
113
114
117
117
119
127
127
126
130
134
134
137
141
141
141
144
148
149
150
151
152
153
153
152
152
151
150
151
150
148
146
144
143
141
140
137
135
132
130
127
125
123
120
118
116
114
112
111
109
108
106
106
105
104
104
104
105
105
106
107
109
110
111
113
116
119
121
122
123
126
128
131
134
137
139
140
142
144
146
147
149
150
152
152
152
152
152
153
152
152
150
149
148
146
144
142
139
138
136
133
131
128
127
124
122
120
117
115
113
111
110
108
107
106
105
105
105
105
105
106
107
107
107
107
110
112
115
117
119
121
123
125
127
130
132
135
138
140
142
143
146
147
150
150
149
155
159
153
151
157
156
149
148
152
151
144
141
145
144
139
135
135
132
129
127
123
120
118
118
115
113
111
109
108
108
107
105
103
102
104
106
108
107
100
103
112
108
105
115
118
118
120
124
129
129
127
133
137
136
139
143
144
144
149
151
150
152
153
155
154
153
153
153
152
151
150
148
146
145
144
141
139
137
135
132
130
127
125
124
121
118
115
112
111
110
109
107
106
104
103
101
102
102
104
105
106
106
107
109
111
113
115
118
120
123
125
127
129
132
134
137
139
142
144
146
148
149
151
152
153
154
154
154
154
153
153
152
150
150
148
146
144
143
141
137
134
130
129
127
126
123
120
118
114
112
110
109
107
107
105
105
103
103
103
104
105
105
106
107
108
110
111
113
115
118
120
123
125
127
129
132
134
136
138
140
143
145
147
148
150
151
152
153
154
154
154
154
154
153
151
149
147
146
144
143
139
136
133
130
128
126
124
122
120
118
115
113
111
110
108
107
106
106
104
104
103
103
103
105
106
107
109
111
113
114
117
118
121
123
126
127
129
131
133
135
137
139
141
144
145
148
150
151
151
151
152
152
153
153
152
150
149
148
147
145
144
143
141
139
136
134
131
129
127
125
122
120
117
114
112
110
108
106
106
104
104
104
104
103
104
105
105
107
108
110
111
113
115
117
119
122
124
127
129
132
135
137
139
140
141
144
146
148
149
150
150
150
150
150
151
151
151
150
149
148
146
145
144
143
141
139
138
136
133
129
127
125
123
121
118
116
114
112
111
109
107
106
105
105
104
104
104
104
105
106
107
109
110
112
115
117
119
121
122
124
127
130
134
136
138
139
140
143
145
147
148
150
150
151
152
152
151
152
155
153
152
149
147
146
144
142
141
138
137
135
133
130
127
126
124
121
119
117
115
112
110
109
107
106
105
104
105
104
105
106
106
106
106
107
109
111
113
115
117
119
122
124
126
129
131
134
136
138
140
142
145
147
149
150
152
152
153
153
153
153
152
152
151
150
148
147
145
143
141
139
137
135
133
130
127
126
123
121
119
116
114
112
111
110
109
107
105
104
103
104
105
105
105
105
106
107
108
110
112
114
117
118
121
123
126
128
131
134
136
139
141
143
145
146
148
150
152
152
153
154
154
154
154
153
152
152
150
148
146
144
142
140
138
135
133
130
128
127
125
122
119
116
113
112
111
110
108
107
105
104
103
103
104
105
105
106
106
107
109
111
113
115
117
119
122
124
126
128
130
133
135
138
139
142
144
146
147
149
150
152
152
153
153
153
153
153
152
151
150
149
147
146
144
142
139
135
132
130
128
127
124
122
119
116
114
112
110
109
108
106
105
104
103
103
104
105
105
106
107
108
109
110
112
114
117
119
121
124
126
128
130
133
135
137
140
142
144
145
147
148
149
151
152
153
153
154
154
154
153
151
149
148
147
146
144
141
139
136
133
130
129
127
124
123
120
117
115
113
111
110
108
107
106
105
104
103
104
104
105
105
107
108
109
111
112
114
116
119
121
124
125
127
130
133
135
137
140
141
144
145
148
149
151
150
150
149
152
158
153
149
155
154
147
146
146
147
143
137
138
139
134
130
131
127
126
124
121
117
116
113
111
110
108
107
106
106
105
105
105
105
105
106
106
107
109
111
114
114
111
115
125
120
120
127
130
133
134
135
143
142
140
145
148
148
149
152
150
150
153
153
153
152
152
152
150
148
147
146
144
142
140
138
135
133
131
128
126
124
122
120
117
115
113
111
109
107
107
105
105
104
104
104
104
105
105
106
107
109
111
113
115
117
118
120
123
127
129
132
133
136
138
139
142
144
146
147
149
150
151
151
152
153
154
154
152
151
150
150
148
146
144
142
141
139
137
134
132
129
127
125
123
121
119
116
114
112
110
109
107
106
105
105
105
104
104
103
102
110
111
105
110
116
114
112
117
122
122
120
125
133
135
134
136
140
142
144
146
146
148
150
151
152
152
152
152
153
153
152
152
150
149
148
147
147
139
132
138
137
127
127
129
126
122
121
121
119
114
111
113
109
105
106
104
103
104
107
105
104
105
106
107
108
108
111
114
115
117
119
121
124
127
130
132
134
137
139
142
144
145
146
148
150
151
152
153
153
153
153
153
152
151
149
148
147
145
143
141
138
136
134
131
130
127
126
123
120
117
115
114
113
111
109
107
105
104
103
103
103
103
104
104
105
106
108
110
112
115
117
119
121
123
125
127
128
131
134
137
139
141
143
146
147
149
150
151
152
152
153
153
153
153
152
151
150
149
148
147
145
143
140
137
134
133
130
127
126
123
120
117
115
113
111
110
108
107
105
105
103
104
103
104
104
105
106
107
108
109
111
112
115
118
121
123
126
127
129
131
134
137
139
141
143
145
146
148
149
150
152
153
153
154
154
154
153
150
149
148
148
146
144
142
140
137
135
132
130
128
126
123
120
118
116
114
112
111
110
108
107
105
105
103
103
103
104
104
106
107
108
110
111
113
115
117
119
122
124
126
129
131
134
135
138
140
143
145
147
149
150
150
150
151
153
154
154
153
152
151
149
148
147
145
144
142
140
137
135
133
131
129
127
125
122
120
118
116
113
111
110
109
108
107
106
105
104
104
104
105
106
107
108
109
110
112
114
116
118
121
122
125
127
130
133
135
136
139
141
144
146
148
149
150
151
151
152
153
153
153
152
152
150
149
148
146
145
143
141
139
136
133
131
128
127
124
122
120
118
116
113
111
110
109
108
107
106
106
103
105
106
106
107
106
107
109
110
112
114
115
117
119
122
125
127
129
131
133
134
137
139
141
144
146
148
149
151
152
153
153
154
154
154
153
152
151
149
147
145
144
141
140
137
135
133
130
127
125
123
120
118
115
113
111
110
109
108
106
105
105
105
106
106
106
105
105
106
108
110
112
113
115
116
119
121
124
127
128
131
133
136
139
140
141
144
146
148
149
150
150
151
152
152
153
153
152
152
151
150
148
147
144
142
140
137
135
132
131
128
127
124
122
120
118
115
113
113
111
109
105
104
104
105
105
104
103
103
104
105
107
108
110
112
114
116
118
120
123
126
128
131
134
136
138
140
142
144
146
148
149
152
152
153
153
154
154
153
153
152
151
149
148
146
144
143
140
138
136
134
132
130
127
125
121
119
117
115
114
111
110
108
106
104
104
103
103
104
104
104
104
105
107
108
110
113
115
117
118
121
123
125
127
129
133
135
138
140
143
144
146
148
149
151
152
153
153
153
153
153
152
152
151
150
149
148
146
144
141
137
135
133
132
130
127
125
122
120
116
115
113
111
110
108
107
105
104
104
104
104
104
105
105
105
107
107
109
111
113
115
118
121
123
126
127
130
133
135
137
140
142
144
146
147
149
150
152
152
153
154
155
154
153
151
149
149
148
147
145
143
141
138
135
133
131
129
127
124
122
119
118
115
114
112
111
110
108
106
105
104
104
104
104
105
105
106
107
108
110
111
114
116
119
120
123
125
127
129
131
134
137
139
141
144
146
148
148
149
150
152
153
154
154
153
152
151
149
147
148
152
144
141
144
141
135
133
132
133
127
123
123
124
118
116
115
111
110
110
107
105
105
105
104
105
105
105
106
107
107
109
110
111
113
115
117
120
122
125
129
129
126
134
139
132
138
144
146
147
145
149
154
151
149
153
153
152
153
153
150
149
150
148
147
145
143
142
139
135
133
131
127
126
124
122
119
118
115
113
111
110
108
106
105
104
104
103
103
103
105
105
107
108
110
111
114
115
116
118
120
124
126
127
129
132
133
136
138
141
143
145
147
148
149
150
151
152
153
154
154
153
152
151
149
146
144
151
147
138
140
142
135
129
129
129
124
118
118
120
117
111
111
111
109
107
106
103
103
104
105
104
103
103
105
107
110
111
112
113
115
118
121
125
121
121
132
132
127
134
141
141
143
146
150
152
149
150
153
151
151
154
154
152
154
155
152
149
149
148
145
143
139
137
135
132
129
127
125
123
121
118
116
114
113
111
109
105
105
104
104
104
103
103
103
103
103
105
107
110
111
112
114
116
120
123
125
127
130
132
135
137
139
140
142
145
146
148
150
152
152
153
153
153
153
153
153
151
150
148
147
145
144
141
139
138
135
133
130
128
126
123
121
119
117
116
114
111
109
107
105
104
103
102
102
103
103
104
105
106
108
110
112
113
115
117
119
122
123
126
127
130
133
135
138
140
143
145
147
149
151
152
153
153
153
153
153
153
152
152
150
150
148
147
144
142
139
137
135
133
131
128
126
123
121
118
116
114
112
111
109
107
106
105
104
105
105
105
105
105
106
106
108
109
111
112
115
117
120
122
124
127
129
131
134
135
138
140
142
144
146
148
150
152
152
153
154
154
154
152
151
150
150
149
148
146
144
142
139
137
134
132
130
128
126
123
121
119
117
115
114
112
110
109
107
106
105
105
104
104
105
105
106
107
108
109
110
112
114
116
118
121
123
126
127
130
133
135
138
140
143
145
148
148
149
150
152
153
154
154
153
153
152
150
149
148
148
146
144
142
140
137
135
133
131
129
127
124
122
120
117
115
113
111
111
109
108
107
107
105
105
105
105
105
106
107
108
110
111
112
114
116
118
121
123
126
128
130
131
133
135
139
141
144
144
146
148
148
150
150
152
154
154
154
151
151
150
149
149
148
145
144
142
140
137
134
132
130
127
125
124
121
118
116
114
111
110
109
107
106
105
104
103
104
104
105
106
107
108
109
111
112
114
115
117
121
124
127
127
129
131
133
135
137
139
142
144
146
147
148
150
151
152
153
153
153
153
151
151
149
148
147
145
144
143
140
138
136
133
131
128
127
124
122
120
117
115
112
111
109
107
106
105
105
105
105
104
103
103
105
107
108
109
111
112
114
115
118
121
123
127
128
130
133
135
137
141
143
145
146
148
149
150
152
152
152
152
153
153
152
152
151
150
149
148
145
144
141
139
136
134
131
129
127
124
122
120
118
116
114
111
109
107
106
105
105
104
103
103
103
102
103
104
105
108
110
111
114
115
118
121
124
126
128
132
133
136
138
140
142
144
145
148
149
151
151
153
153
154
154
153
153
152
151
149
148
146
145
143
141
139
137
135
133
130
127
124
122
120
118
116
113
110
110
108
106
103
103
103
104
104
103
103
104
106
107
109
111
113
114
116
118
120
123
125
127
130
133
135
137
139
142
144
146
148
149
150
151
152
153
154
154
153
152
152
152
151
150
148
146
143
141
139
138
136
132
129
127
124
121
119
117
115
113
111
109
107
105
104
104
103
104
104
104
104
105
105
107
108
110
111
114
116
118
120
123
125
127
130
132
135
137
140
142
144
146
148
150
151
152
153
154
154
154
152
151
151
151
150
148
147
144
143
140
138
136
134
131
129
127
124
122
119
119
116
114
112
111
109
108
107
106
106
105
105
105
105
105
106
107
108
109
111
113
115
117
119
122
124
127
128
131
133
136
139
142
144
146
147
147
148
150
153
153
154
153
153
152
151
150
149
148
147
145
144
140
138
135
135
138
130
125
128
126
120
116
117
116
112
107
108
111
107
106
107
106
105
106
105
104
106
107
108
109
111
112
115
117
119
122
125
127
128
130
131
134
138
141
144
144
139
146
153
145
148
153
153
154
151
152
157
152
149
151
149
146
145
144
139
138
137
135
131
129
127
126
123
120
118
116
114
111
110
108
107
106
106
105
104
104
105
105
106
107
108
110
111
111
112
115
117
117
124
130
127
126
133
136
133
134
141
144
142
142
148
153
152
152
154
155
154
154
153
150
149
150
148
146
145
143
142
139
137
135
133
129
127
126
126
122
111
112
117
110
105
110
109
106
105
107
109
106
102
104
107
105
107
110
109
110
114
117
117
119
123
127
127
129
130
133
135
138
141
143
144
146
148
149
150
151
152
153
153
152
152
152
151
150
148
147
145
144
141
139
137
135
132
130
127
126
124
121
120
118
116
113
110
108
107
107
106
105
104
103
103
103
104
105
106
108
110
111
113
114
117
120
123
125
127
129
132
134
136
139
140
143
145
147
148
150
151
152
153
153
153
153
153
152
152
151
149
148
146
144
142
140
138
136
134
131
128
125
123
121
119
117
114
111
109
108
106
105
104
104
103
103
103
103
103
105
107
108
111
112
113
115
118
120
122
124
127
129
131
134
136
138
140
143
144
147
149
151
151
150
151
152
153
153
152
152
152
152
151
149
147
144
141
140
139
136
133
131
128
126
123
121
119
117
115
112
110
108
107
105
105
105
105
105
103
104
103
105
106
107
108
110
112
114
116
119
121
124
127
128
131
133
136
138
140
143
145
147
148
150
151
153
154
154
154
153
152
151
152
151
150
147
145
143
141
139
137
134
132
130
127
126
124
122
120
118
116
114
112
110
108
107
106
105
105
104
105
105
105
106
107
108
109
111
112
114
116
118
121
123
125
127
130
132
135
138
141
143
144
145
146
148
150
152
152
153
152
152
151
151
150
150
149
148
146
144
142
140
139
136
134
132
129
127
124
122
119
118
116
114
113
111
110
109
107
108
107
107
106
104
105
105
105
107
108
109
111
113
116
118
121
124
126
127
127
130
133
136
138
140
141
143
145
147
148
150
152
153
153
153
153
153
152
152
150
149
147
146
144
142
139
137
135
132
130
127
126
123
121
119
117
115
112
111
109
108
107
106
105
105
104
105
105
106
107
108
110
111
111
112
115
118
120
122
123
126
127
129
131
134
136
139
141
144
145
147
148
150
152
153
154
154
154
153
152
152
151
150
149
147
145
143
141
138
136
133
131
128
126
123
122
119
117
114
112
110
109
107
107
107
106
105
103
103
103
105
106
108
108
110
111
112
114
116
119
121
124
125
127
130
132
135
138
140
142
144
146
147
148
150
151
152
153
153
153
153
153
152
152
150
149
147
146
144
141
139
136
134
131
129
127
124
122
120
118
116
113
110
109
107
107
106
105
104
103
103
103
104
104
106
107
109
110
111
114
116
119
122
124
126
127
130
132
134
137
139
141
144
146
147
149
150
152
152
153
154
154
153
153
152
151
150
149
147
145
144
142
140
138
136
133
129
127
125
123
121
118
115
113
111
108
107
106
105
105
104
103
103
103
104
105
106
108
109
110
112
114
116
117
120
122
125
127
130
132
135
137
139
142
144
146
147
149
150
152
152
153
153
153
153
153
153
152
151
149
147
144
142
141
139
137
134
132
129
127
124
122
120
118
116
113
111
110
108
107
106
106
106
105
105
105
104
105
106
107
108
110
112
114
115
117
120
123
125
127
128
131
134
136
139
141
143
145
147
149
150
151
153
153
154
153
152
152
153
152
151
148
146
144
143
140
138
136
134
132
129
127
125
124
121
119
116
115
113
111
110
108
106
105
105
105
105
105
105
106
107
108
109
110
112
113
115
117
119
122
124
126
128
131
134
136
139
141
143
144
145
147
149
151
152
153
152
152
152
152
151
151
150
149
147
145
144
141
140
138
136
133
131
128
127
123
119
121
122
112
112
115
111
108
106
107
108
103
100
105
107
104
106
107
108
110
112
112
113
116
119
122
124
125
126
129
132
135
138
139
141
143
144
146
148
149
152
154
150
147
156
154
148
152
153
152
149
145
148
147
139
138
137
133
130
130
127
120
126
128
119
113
117
116
109
107
109
108
102
99
104
107
103
103
106
108
108
109
109
109
112
116
118
120
122
124
126
128
131
134
136
138
140
144
146
148
142
144
155
153
147
153
156
153
152
153
155
153
147
147
146
142
140
140
136
134
134
132
128
126
124
123
120
117
114
112
111
109
108
107
106
105
104
103
103
105
107
107
107
109
109
110
112
114
116
119
122
123
126
127
130
132
135
137
140
143
144
146
147
148
150
151
152
153
153
153
153
152
152
151
150
148
147
145
143
140
138
135
133
131
128
127
124
123
120
118
115
111
110
109
108
107
105
104
103
102
103
103
105
106
107
109
109
111
112
115
117
120
122
124
127
128
130
132
135
137
140
142
144
146
147
149
151
151
152
153
152
152
152
152
151
150
149
149
147
145
144
142
140
137
134
130
127
126
125
122
120
117
114
112
110
108
106
106
105
104
104
103
103
103
105
106
107
108
109
111
113
114
116
118
121
124
126
129
131
133
136
139
141
143
144
146
148
149
151
151
152
153
153
153
153
152
153
152
150
148
146
144
143
141
138
136
133
130
127
125
123
121
120
117
115
112
111
109
108
107
107
106
105
105
105
105
105
105
107
108
109
111
113
115
117
119
121
123
126
127
130
132
134
136
139
142
143
146
147
149
151
153
153
153
153
153
153
153
153
151
150
148
146
144
143
140
139
136
133
130
127
126
123
122
120
118
116
113
111
109
108
106
105
105
104
105
106
106
106
106
107
109
110
111
113
114
116
119
121
123
125
127
129
132
134
137
139
140
142
143
145
148
151
152
153
152
152
152
151
151
151
150
150
149
147
145
143
142
141
137
134
132
130
127
125
123
120
118
116
114
112
111
109
108
107
106
105
105
105
104
105
105
106
108
109
110
112
114
116
119
121
123
124
126
128
131
134
137
138
140
142
143
146
147
149
150
151
151
152
152
152
152
152
152
151
150
148
147
144
143
140
138
136
133
130
128
127
124
122
120
118
115
113
111
110
108
107
106
105
104
104
105
105
106
107
107
108
108
110
112
115
117
120
121
123
125
127
129
132
135
137
140
141
144
145
147
149
151
152
153
154
153
153
152
152
151
150
149
148
147
145
144
141
140
137
135
132
129
127
125
122
120
118
115
114
111
110
109
108
107
105
103
103
103
104
105
105
106
107
108
109
111
113
115
118
121
123
125
127
130
133
136
138
141
143
145
146
148
149
151
152
152
153
154
154
153
153
152
151
149
148
146
144
143
141
139
136
134
132
129
127
126
124
121
118
115
113
111
110
109
107
106
105
104
103
103
104
105
105
107
107
109
110
111
113
116
118
121
123
125
127
129
132
134
137
139
142
144
146
147
149
150
151
152
153
153
153
153
153
152
151
150
150
148
147
144
143
140
138
134
131
128
127
125
123
120
117
115
112
110
109
108
107
106
105
104
103
103
104
104
105
106
107
109
110
111
113
115
118
120
123
125
127
130
132
135
137
139
141
144
145
147
148
150
151
152
152
153
153
153
153
153
152
151
148
146
145
145
143
140
137
135
132
129
127
124
123
120
118
115
113
111
110
108
108
107
106
105
104
104
104
104
105
106
107
108
110
112
114
116
118
120
123
124
127
129
131
134
136
138
140
143
144
147
148
150
152
152
151
151
152
152
153
152
152
150
148
147
145
143
142
140
138
136
132
130
127
126
124
122
120
117
115
112
111
109
107
106
105
105
104
104
104
105
105
106
107
108
110
111
113
115
117
119
122
124
127
128
131
134
136
138
140
141
143
145
148
149
150
151
151
151
152
152
152
151
151
150
149
148
146
144
143
141
139
137
134
132
129
127
124
122
120
118
115
113
111
111
108
104
109
109
101
103
109
105
103
104
107
109
106
107
114
117
117
120
122
122
125
127
129
131
135
136
138
140
141
143
146
148
149
150
151
152
152
152
149
153
158
155
149
146
146
147
140
137
142
135
131
131
132
133
127
123
122
120
116
114
111
109
107
107
107
105
105
103
105
106
107
106
107
107
107
110
115
111
108
119
122
116
121
128
128
131
134
139
142
139
140
145
146
146
151
152
151
153
155
154
152
152
153
152
151
149
147
146
144
142
140
137
135
132
131
127
126
123
121
119
117
114
112
111
109
108
107
105
103
103
103
104
105
105
105
106
107
108
110
112
115
117
120
122
124
126
128
132
134
136
139
141
143
145
146
147
149
150
152
153
153
153
153
153
152
151
150
149
148
146
144
142
140
138
136
134
131
129
127
125
123
120
116
114
112
111
110
108
106
105
104
103
102
103
103
104
105
105
107
108
110
112
115
117
120
122
124
126
128
130
133
135
138
140
142
144
146
148
150
152
153
154
154
154
154
153
153
151
150
149
148
147
145
143
142
139
136
133
130
129
127
125
122
119
116
114
112
110
109
108
107
106
105
104
104
104
105
105
106
107
107
108
110
111
113
115
118
120
123
126
127
130
132
135
138
140
142
144
146
147
149
150
151
152
153
153
154
154
155
154
152
150
148
147
146
144
141
139
135
133
130
127
125
123
122
119
117
115
113
111
110
109
108
107
105
105
104
103
103
104
105
106
107
109
111
113
115
118
120
122
124
125
127
129
131
134
136
139
141
144
146
148
150
151
151
152
152
153
153
154
153
152
151
149
148
146
144
143
141
139
136
134
131
129
127
126
123
121
118
116
113
112
111
109
108
105
106
105
104
104
104
105
105
107
108
109
110
112
114
116
118
121
123
125
127
130
132
135
137
138
139
142
144
147
148
149
150
151
150
151
151
152
152
152
151
149
149
147
146
144
143
140
138
135
132
130
128
126
124
121
119
117
115
112
111
109
107
106
105
105
104
104
104
104
105
106
107
109
110
112
114
117
119
120
121
124
126
129
132
134
136
138
140
141
144
145
148
149
150
150
151
152
152
152
152
152
151
150
149
148
146
144
142
140
139
136
134
131
129
127
125
122
120
118
116
114
111
110
108
107
106
106
105
105
105
105
106
105
106
106
108
110
112
114
117
119
121
122
124
127
129
133
134
137
139
141
144
146
148
150
151
152
153
153
152
153
153
152
152
151
149
149
147
145
143
141
139
136
134
131
129
127
125
122
120
117
116
114
112
111
110
108
105
104
103
104
104
104
104
104
105
106
107
109
111
114
116
118
120
122
125
127
130
133
135
138
140
142
143
145
147
149
150
152
152
153
153
154
153
153
153
152
151
149
147
145
143
141
139
136
134
132
130
128
127
124
121
118
115
114
112
111
109
107
105
104
103
103
103
104
104
105
105
106
107
109
112
114
116
118
120
122
124
127
128
131
134
137
139
142
144
146
148
149
151
152
153
153
153
153
153
153
152
151
150
149
148
146
145
143
140
137
134
132
130
128
126
123
120
117
115
113
111
109
109
107
106
105
104
103
104
104
105
105
106
107
108
109
111
113
115
117
120
122
125
127
129
132
134
137
139
141
143
145
147
148
150
151
152
153
154
153
154
154
153
151
149
148
148
146
144
142
139
137
134
132
129
127
126
123
121
118
116
114
112
111
110
109
107
107
105
105
104
104
104
105
106
107
108
110
111
113
116
117
120
122
124
126
128
131
133
135
137
140
142
144
146
149
150
151
152
152
154
154
154
153
153
152
150
149
147
146
144
141
139
137
134
132
130
128
126
124
122
119
117
114
113
110
109
107
107
106
105
104
105
105
105
105
107
108
109
111
111
113
115
117
119
122
124
126
128
131
133
134
136
137
140
143
146
147
148
149
150
151
151
152
152
152
152
151
150
149
148
147
146
144
142
140
138
135
132
130
127
125
123
121
118
116
113
111
110
108
107
106
105
104
104
104
105
104
103
108
113
107
109
118
117
116
116
120
123
121
129
136
132
133
141
140
136
142
148
145
142
145
152
153
150
151
153
154
153
152
150
147
147
146
144
142
141
139
138
137
131
126
131
127
120
122
123
119
107
108
117
110
102
108
108
104
104
108
111
106
103
107
108
106
110
113
114
116
119
121
121
123
127
130
132
132
135
138
140
142
144
146
149
150
151
150
151
152
152
153
152
151
150
149
149
147
145
144
141
140
138
136
133
130
128
126
123
121
119
117
115
113
112
110
108
106
103
104
105
105
104
103
103
105
106
107
108
110
112
114
117
119
121
124
127
129
132
134
136
139
141
143
144
147
148
150
152
152
153
153
153
153
153
152
152
150
149
147
146
144
142
140
138
135
133
131
129
127
124
121
118
116
115
113
111
109
107
105
105
103
103
103
103
104
104
104
105
107
108
111
113
115
118
119
121
124
126
127
130
132
135
138
141
143
145
147
148
150
151
152
153
153
153
153
153
152
152
150
150
148
148
146
144
140
137
135
133
132
129
127
124
122
120
117
114
113
111
110
108
106
105
104
104
103
104
104
105
105
106
107
108
110
111
113
116
118
120
123
125
127
131
132
135
137
140
142
144
146
148
149
151
152
153
154
154
155
154
153
152
150
149
148
147
145
143
140
138
135
132
130
127
126
124
121
118
117
115
113
112
111
109
108
107
106
105
104
105
105
106
106
107
108
110
111
112
114
116
117
120
122
124
127
128
131
134
136
137
140
144
146
148
148
148
149
151
152
154
154
153
153
152
151
149
148
147
146
143
142
139
137
134
132
130
127
126
123
121
119
116
113
111
110
108
108
107
105
104
103
104
105
105
105
107
108
109
110
112
113
115
118
120
122
125
127
130
132
134
135
137
141
143
145
146
147
148
149
150
151
152
152
153
152
151
150
150
149
148
147
145
143
141
138
135
133
130
128
127
124
122
120
118
115
113
111
110
108
107
106
105
104
105
104
104
105
106
107
109
110
112
114
115
116
117
120
123
126
128
129
132
134
136
139
141
144
145
147
149
149
150
152
152
153
153
153
152
152
151
150
149
147
146
144
142
139
137
135
132
130
127
125
122
120
117
114
112
111
110
108
107
106
106
105
105
105
104
104
104
106
108
109
111
112
114
116
118
120
123
126
128
130
132
134
137
139
141
144
146
147
148
149
150
150
151
152
152
153
152
152
151
150
150
148
146
144
142
139
137
135
133
130
127
126
123
121
119
117
115
113
111
109
106
105
104
104
104
103
103
103
103
104
105
107
109
111
113
114
117
120
123
126
127
130
133
135
137
139
141
142
144
146
149
149
151
152
153
153
153
153
153
153
151
150
149
147
145
144
142
139
137
135
133
131
129
127
124
121
119
117
115
113
111
109
106
105
104
103
103
103
103
103
104
105
106
108
110
112
114
116
117
120
122
124
127
128
131
134
136
139
141
144
145
147
149
150
152
152
153
153
153
152
153
152
151
150
149
148
147
144
141
139
137
136
133
131
127
126
123
120
118
115
114
112
110
108
107
106
105
105
104
105
104
105
105
106
106
108
109
111
113
115
117
119
122
124
127
129
131
133
136
138
140
143
144
146
148
150
151
152
153
154
154
154
153
151
152
150
150
148
147
144
142
140
137
135
133
131
128
126
123
121
119
117
115
113
111
110
109
107
106
105
104
104
104
105
105
106
107
108
109
111
112
114
116
119
121
124
126
127
130
133
136
138
140
142
145
147
148
148
149
151
153
153
153
154
152
152
151
150
149
148
147
144
142
140
138
136
134
132
129
127
125
123
120
118
115
114
111
110
109
107
106
105
105
104
104
104
105
105
106
107
108
110
112
114
116
119
121
124
126
128
130
131
133
136
140
142
144
145
147
147
149
150
152
152
153
153
152
152
150
151
150
149
147
146
144
141
139
136
134
131
129
127
126
124
121
119
117
116
111
111
107
104
111
111
103
103
109
107
101
103
108
108
105
108
115
117
113
114
123
127
123
126
130
130
131
133
137
141
140
140
146
150
149
150
153
152
154
156
156
153
144
147
153
147
141
146
146
142
139
140
141
135
129
128
127
122
121
121
119
112
109
115
112
104
106
109
108
107
102
106
108
103
104
107
108
108
111
112
113
116
120
122
125
126
128
131
133
135
137
140
142
144
146
148
148
150
151
151
152
153
154
154
153
152
151
150
148
147
145
143
140
138
136
133
131
128
126
124
122
120
118
116
114
111
108
107
106
106
105
104
103
103
103
103
104
105
107
109
111
112
115
117
120
123
126
127
130
132
134
136
138
140
141
143
145
147
149
150
151
152
153
154
154
153
152
151
150
149
147
146
144
143
140
139
137
135
133
130
127
124
122
120
118
116
113
110
108
106
105
103
103
102
103
103
103
103
103
105
107
110
111
112
114
116
118
120
123
126
128
131
134
136
139
141
144
145
147
149
150
151
152
153
152
153
153
153
152
152
151
151
150
146
144
141
139
138
136
134
131
129
127
124
121
119
117
115
114
111
109
107
107
106
106
105
104
104
104
105
105
106
107
108
110
112
114
116
118
121
123
126
127
130
132
134
137
139
141
143
146
147
149
151
152
153
154
154
153
152
152
152
152
150
149
147
145
143
141
138
137
134
132
130
127
125
122
120
117
117
115
114
111
108
107
106
105
104
104
103
104
105
106
106
107
108
110
111
113
116
118
120
122
125
127
129
131
134
137
139
142
144
145
146
147
150
151
152
152
152
152
152
151
151
150
150
149
147
145
143
140
139
137
135
134
131
129
126
124
122
119
117
115
113
111
110
108
107
106
106
105
105
105
105
105
106
107
107
109
111
112
114
117
119
122
125
126
127
129
132
135
139
140
142
144
145
147
148
149
150
152
153
153
152
152
152
152
151
150
149
147
145
143
140
137
135
132
130
128
127
124
122
120
118
116
113
111
110
109
107
106
105
105
104
105
105
106
107
108
110
111
111
112
114
116
119
121
122
125
127
128
131
133
136
138
141
143
144
146
148
150
152
152
153
153
154
153
152
152
151
150
149
147
146
144
142
140
137
135
133
130
127
125
123
120
117
115
113
112
110
109
108
107
106
106
105
103
103
104
105
107
107
109
110
111
113
115
117
119
122
125
127
128
131
134
137
140
142
144
145
147
148
150
151
152
153
153
153
153
153
152
152
151
149
147
146
144
142
140
137
135
132
130
127
126
124
121
120
118
115
111
110
108
108
107
106
104
103
103
103
103
104
105
106
108
109
111
112
115
117
120
122
125
127
129
131
134
136
138
140
143
145
147
149
150
151
153
153
154
154
154
153
152
152
150
149
148
146
144
142
140
139
136
134
130
127
125
123
122
120
116
114
112
110
108
107
105
105
104
104
103
104
104
105
106
108
109
110
112
113
115
117
120
122
124
126
128
130
132
135
138
140
142
144
146
148
149
151
152
153
153
153
153
153
153
152
152
151
149
146
144
143
141
139
136
133
131
128
126
123
122
120
117
113
111
110
109
106
106
105
105
105
104
104
104
105
105
106
107
109
110
113
115
117
120
122
124
127
128
131
134
136
138
140
142
145
147
149
149
150
152
153
153
152
152
152
152
152
151
149
147
145
144
141
140
137
135
133
131
128
127
124
122
120
118
116
114
111
110
108
107
106
105
104
104
104
104
105
105
106
107
109
111
112
114
116
119
121
123
126
128
130
133
136
139
141
143
144
145
146
148
150
151
152
152
152
152
152
151
150
149
149
148
146
144
142
141
139
137
134
132
129
127
125
122
120
118
116
114
113
111
110
108
107
106
105
105
104
104
104
105
106
107
109
110
112
114
116
118
122
124
125
126
128
131
134
138
139
141
142
144
145
147
148
150
151
152
152
152
152
152
152
150
149
146
145
151
146
138
140
142
134
129
130
130
125
119
120
122
119
114
113
112
110
108
107
104
103
104
104
104
104
105
107
108
109
109
110
112
115
118
121
125
122
118
127
133
127
129
138
146
143
139
149
155
150
147
153
155
152
150
152
154
153
153
153
150
148
148
146
142
139
137
136
133
130
127
126
123
121
120
117
114
112
111
109
108
108
107
106
105
97
99
108
104
102
105
108
110
108
110
117
117
116
121
123
125
127
131
132
135
139
142
144
145
146
149
151
151
152
153
153
153
154
153
153
152
152
151
148
147
145
143
141
139
136
134
131
128
127
125
123
120
118
115
112
110
109
108
107
105
103
103
103
102
102
103
104
105
106
108
110
111
114
116
119
122
124
126
128
130
132
135
137
139
142
144
146
148
150
152
152
153
154
154
154
154
153
152
152
150
149
147
145
144
142
141
138
135
131
128
126
125
122
120
116
114
112
110
109
107
106
105
105
104
103
104
104
105
106
106
108
109
110
112
114
116
118
121
123
125
127
129
132
134
137
139
141
143
145
147
148
150
151
153
153
154
154
153
153
153
152
151
148
146
145
144
142
139
137
134
131
129
127
124
122
119
117
116
114
111
110
109
107
107
106
105
105
104
105
105
105
106
107
109
111
113
114
116
118
121
122
125
127
130
132
134
137
140
141
144
144
146
148
149
152
152
152
152
152
153
154
153
151
150
149
148
146
143
140
138
137
135
132
130
128
126
123
121
119
116
114
112
110
109
107
106
105
105
104
105
104
105
105
106
107
109
110
111
113
115
118
121
123
125
127
129
133
136
138
139
141
142
143
145
147
148
149
149
151
151
152
152
152
150
150
149
149
148
146
144
142
141
138
136
133
131
128
127
124
122
120
118
116
114
112
110
108
107
106
105
104
104
103
104
105
105
106
108
109
111
113
116
118
121
122
123
125
127
130
133
135
137
139
141
144
145
146
147
149
150
152
153
153
153
153
152
152
151
150
148
146
144
143
140
139
136
134
132
129
127
126
123
121
118
116
114
111
110
109
107
106
106
105
104
105
105
106
106
107
107
108
109
112
115
116
118
120
122
124
127
129
130
133
135
139
141
144
145
147
149
151
152
152
153
153
153
153
152
152
151
149
149
147
146
144
142
139
137
135
132
130
127
126
123
121
118
116
114
112
111
110
109
108
106
104
104
104
105
105
105
105
106
108
110
111
112
114
116
119
122
125
127
129
131
134
136
139
141
143
145
146
148
150
151
152
153
154
154
153
153
153
152
151
149
148
146
144
142
140
138
135
133
131
129
127
125
122
120
116
113
112
111
109
107
106
104
104
103
103
103
103
103
104
106
107
108
110
112
114
117
119
122
124
127
128
130
133
136
139
141
143
145
147
148
150
151
152
153
153
153
153
154
152
152
150
149
148
146
145
143
141
139
135
132
130
127
127
124
121
118
116
114
112
110
107
106
105
105
104
103
103
103
104
105
106
107
108
109
111
112
114
116
119
122
124
126
128
131
133
136
138
140
143
145
146
148
149
150
151
152
153
154
154
154
154
154
151
148
147
146
145
143
139
137
135
132
130
127
125
123
121
118
117
114
112
111
109
108
107
106
105
104
104
104
104
105
106
107
108
109
111
113
115
117
119
122
124
126
128
130
132
135
138
140
142
144
146
148
150
152
152
152
151
152
153
153
152
150
150
148
148
145
144
142
140
138
136
134
131
128
127
125
123
121
118
116
113
111
110
108
107
106
106
105
105
105
105
106
106
107
108
109
111
112
114
116
118
121
123
126
127
130
133
135
137
138
140
141
144
147
149
149
149
150
151
152
152
151
150
151
150
149
148
146
145
143
142
140
138
135
132
129
127
125
123
121
119
116
114
113
111
110
108
107
105
105
105
105
104
104
105
107
108
109
110
112
115
117
119
120
122
125
127
129
130
130
139
142
136
141
147
146
143
147
152
151
147
149
155
156
152
152
153
151
149
148
144
142
140
139
137
135
133
131
129
127
125
123
120
118
116
115
115
109
100
104
109
102
98
105
106
105
105
108
111
109
107
112
114
113
115
119
120
123
127
129
129
132
136
140
141
143
144
148
148
149
149
151
156
154
149
154
155
151
149
149
151
148
142
142
144
141
137
136
133
131
130
127
123
121
119
116
115
113
111
111
109
107
106
105
104
104
105
104
103
105
106
109
110
105
109
117
113
114
121
124
127
127
130
138
138
136
140
142
144
147
150
150
150
153
154
155
154
154
155
154
152
152
150
148
146
144
143
140
139
136
134
131
129
127
125
123
119
116
113
112
111
109
107
106
105
104
104
103
103
102
102
103
105
106
108
110
112
114
116
119
121
123
125
127
130
132
134
138
140
142
144
146
148
149
151
152
153
153
153
154
153
153
152
152
150
149
148
147
145
144
140
137
134
131
129
127
125
122
120
117
115
113
111
108
107
106
105
105
104
104
104
104
104
105
105
107
107
109
111
113
115
117
120
122
125
127
129
131
134
136
139
141
143
145
146
149
150
151
153
153
154
154
155
154
154
152
151
149
147
146
144
142
139
137
135
132
129
127
124
122
120
118
116
114
112
111
109
107
106
105
105
105
105
103
104
105
105
107
109
110
112
114
116
118
120
122
125
127
129
131
134
135
138
140
143
145
147
149
150
151
151
151
152
152
152
152
151
150
149
148
147
145
143
141
140
138
136
134
132
129
127
125
122
120
117
116
113
111
109
109
107
106
105
105
104
104
104
104
105
106
108
109
110
112
114
117
119
122
124
127
129
132
134
136
137
140
142
144
146
148
149
149
150
151
152
152
151
151
151
150
150
149
147
146
144
143
140
138
136
133
131
128
127
125
123
120
119
116
114
112
111
109
108
107
106
105
104
104
104
105
106
106
108
109
111
113
115
117
118
120
123
125
127
129
132
134
136
139
141
143
144
146
148
149
151
152
153
153
153
153
153
152
151
149
148
146
145
143
141
139
137
135
132
130
127
126
123
121
118
116
114
111
110
109
107
106
106
105
105
106
106
105
105
106
106
108
110
112
113
115
117
120
123
124
127
127
131
133
136
139
141
143
145
147
148
149
150
151
152
152
152
153
152
152
151
150
149
147
147
144
143
140
138
135
133
131
128
127
124
122
119
117
114
112
111
109
107
105
104
103
104
103
103
103
104
105
106
107
108
109
111
114
117
119
121
124
127
129
132
135
137
139
141
143
145
147
149
150
151
152
153
153
153
153
152
152
151
150
149
147
146
144
142
140
138
135
133
130
128
126
124
121
118
116
115
113
111
109
107
106
106
105
103
103
102
103
103
105
106
107
108
110
112
115
117
119
121
123
126
127
130
133
136
139
140
143
145
147
148
150
151
152
153
153
154
154
154
153
152
151
150
148
147
146
143
141
137
135
133
130
128
126
123
121
119
116
114
111
109
108
107
106
105
105
104
104
104
105
105
105
106
108
109
110
112
114
116
119
121
124
127
128
130
133
135
137
140
142
144
146
148
150
150
152
153
154
154
155
154
153
152
150
150
148
147
144
142
140
138
136
133
130
127
126
124
122
120
118
115
114
111
110
108
107
106
105
104
103
104
104
105
106
107
108
109
111
112
115
116
118
121
123
125
127
130
132
135
137
139
142
144
146
148
149
150
150
151
152
153
153
152
152
151
151
149
147
145
144
143
140
139
136
135
132
130
127
125
123
120
117
115
113
111
110
108
108
106
106
105
105
104
105
105
105
107
108
109
110
112
114
116
118
121
123
125
127
130
132
133
135
137
140
142
144
146
148
149
150
151
151
152
152
152
152
152
151
150
149
147
146
144
142
139
137
135
132
130
127
126
123
121
119
117
114
112
111
109
108
106
105
102
104
110
107
101
107
111
107
106
111
115
112
111
116
122
123
123
126
129
130
133
135
135
137
140
142
143
146
148
150
151
152
154
153
153
153
152
152
155
147
140
146
148
139
136
141
138
134
132
132
131
125
120
120
117
113
113
111
108
107
110
108
105
105
106
107
105
104
105
107
107
109
110
111
113
116
118
120
122
124
127
129
132
135
137
139
141
143
146
147
149
150
150
152
152
153
153
153
150
149
152
155
149
144
148
147
142
137
136
136
131
125
127
127
123
120
118
116
114
114
111
108
106
105
104
104
103
102
103
104
105
106
107
107
109
111
113
115
119
122
125
127
123
128
136
132
133
139
142
144
143
147
154
152
150
152
154
153
154
155
152
151
152
152
150
147
145
145
143
139
137
135
132
129
127
125
122
119
118
116
113
111
110
108
107
106
104
103
102
103
102
103
104
106
107
109
110
112
114
115
117
120
122
124
127
129
131
134
137
140
141
144
145
147
149
150
151
152
153
153
153
154
154
153
152
151
150
149
146
144
142
139
137
135
133
131
127
126
124
121
118
116
113
111
110
108
107
105
105
105
104
103
103
103
104
106
106
107
109
111
113
115
118
120
122
124
127
129
131
134
137
139
142
144
146
148
149
150
151
152
153
154
153
152
152
152
152
149
147
147
146
144
142
140
137
134
132
130
127
126
124
122
120
117
115
113
111
109
108
106
106
105
105
103
104
104
104
105
106
107
109
111
112
114
116
119
121
123
126
128
131
134
137
140
142
144
146
148
148
150
151
152
152
153
152
153
153
153
151
149
147
146
145
143
142
140
138
135
133
131
128
126
124
121
119
117
115
113
111
110
109
108
107
106
106
105
105
105
106
106
107
108
110
112
112
114
116
119
122
124
126
127
129
132
133
136
138
140
143
144
147
148
150
151
151
151
152
152
153
153
153
152
150
150
147
146
144
142
139
136
134
132
129
127
124
122
120
118
116
114
111
110
108
107
106
105
104
104
104
105
105
106
107
109
110
112
113
114
116
118
121
123
125
127
129
131
133
136
137
139
141
144
145
147
149
150
152
152
153
153
153
152
152
151
149
149
148
146
144
143
140
138
136
133
130
128
126
124
121
119
117
114
112
110
109
107
107
106
105
105
104
104
103
104
105
107
107
109
111
112
115
117
119
120
123
126
128
131
134
137
139
141
144
145
146
148
149
151
152
153
154
154
153
153
153
152
151
149
148
146
144
142
140
137
135
132
130
127
126
124
122
120
118
115
113
111
109
107
106
105
105
104
104
104
105
104
105
106
106
108
110
112
115
117
119
122
125
127
128
130
133
135
138
140
142
144
147
148
150
152
152
153
153
154
154
153
153
152
151
149
148
147
145
143
141
139
137
134
132
129
126
123
121
119
117
114
112
111
109
107
106
104
103
102
102
102
103
105
106
107
108
110
111
113
114
117
119
121
124
127
129
131
133
135
138
140
143
145
147
148
149
150
151
152
152
152
153
153
153
152
152
150
149
147
145
142
140
138
136
133
131
129
127
124
121
119
116
114
111
110
109
108
107
106
105
105
104
104
104
104
105
106
107
109
110
112
114
116
119
121
124
126
127
130
132
135
137
140
142
143
146
147
149
150
152
153
154
154
153
153
152
152
151
149
148
146
144
143
141
138
135
133
130
127
127
124
122
120
118
116
114
112
110
108
107
106
105
105
104
105
104
105
106
107
108
109
111
112
114
116
119
121
123
125
127
130
132
135
137
140
142
144
145
146
147
148
150
151
152
152
152
152
152
151
150
148
147
145
144
143
141
139
136
135
132
130
127
126
124
122
119
117
115
113
111
110
108
107
106
105
104
104
104
104
105
106
107
108
109
111
113
115
117
120
123
125
127
128
130
133
136
139
141
141
144
146
148
149
149
150
151
152
152
153
152
153
152
151
149
147
146
143
137
141
144
134
129
133
133
125
122
124
122
115
111
115
116
111
107
107
106
105
105
103
101
102
105
106
107
108
109
111
112
114
117
119
120
124
126
129
133
127
128
139
140
136
142
149
148
149
152
157
157
151
152
155
152
150
152
150
148
149
149
146
142
141
140
138
134
131
129
127
124
122
120
117
115
114
111
110
108
108
107
107
107
106
104
103
104
105
106
106
108
109
112
113
115
116
119
120
123
127
129
132
134
137
140
142
144
145
146
148
150
151
152
153
154
154
154
153
153
152
151
150
148
146
144
141
138
136
139
134
127
129
129
124
119
118
118
114
107
107
110
107
105
105
104
103
104
104
103
103
103
105
107
109
111
113
116
118
121
123
125
127
129
131
134
136
139
142
146
140
143
153
149
147
152
154
155
152
152
158
156
150
150
149
147
146
145
142
139
139
137
135
131
127
126
124
121
119
116
114
111
110
108
106
104
103
103
102
103
103
104
105
106
107
108
110
111
113
115
117
119
122
124
127
129
131
133
136
139
141
143
144
146
148
149
150
152
152
153
154
154
153
153
152
151
149
148
146
143
141
140
137
135
132
130
127
126
123
121
118
116
114
112
111
109
108
107
106
105
105
104
104
104
105
106
106
107
109
111
114
116
118
119
121
124
126
128
131
133
135
138
141
143
144
146
148
150
151
152
153
153
152
152
152
152
151
150
149
147
146
144
142
139
136
134
131
129
127
126
124
123
120
118
115
114
112
110
108
107
106
105
104
104
105
105
106
106
107
108
110
111
113
115
116
118
121
123
125
127
130
133
135
138
141
143
144
145
147
148
150
151
152
152
152
153
152
152
150
149
147
147
146
144
143
141
139
136
134
131
128
126
124
121
119
117
115
113
111
110
109
107
106
106
105
104
104
105
105
106
107
108
110
111
113
115
118
120
123
125
127
128
129
131
133
136
138
140
142
144
146
148
148
149
149
150
151
152
152
152
151
150
149
148
146
144
142
141
139
137
136
133
131
129
127
125
122
120
118
115
113
111
109
107
105
104
104
103
104
104
105
105
106
108
109
111
110
112
114
117
119
122
124
126
128
131
133
135
138
140
143
145
148
149
150
151
152
152
152
152
152
152
151
151
149
148
147
146
144
142
140
138
136
132
130
128
127
124
122
119
118
116
114
112
110
109
109
108
106
105
104
103
103
104
105
105
107
108
110
111
113
115
117
119
122
125
127
130
133
136
138
141
143
145
146
148
150
151
152
153
154
154
154
153
153
152
151
150
148
146
144
143
140
138
135
133
130
128
126
124
122
120
117
115
113
110
109
108
107
105
105
104
104
104
103
103
103
105
106
108
110
112
114
116
119
121
124
126
127
130
133
135
138
140
142
145
146
148
150
151
152
153
154
154
154
153
153
152
151
150
148
147
144
143
141
139
137
134
131
128
126
124
121
119
117
115
113
111
109
107
105
104
104
103
104
104
104
105
106
108
108
109
111
112
114
116
118
120
123
126
128
130
133
135
138
140
142
144
146
148
149
151
151
152
153
154
154
154
154
153
153
150
149
147
145
143
141
139
136
133
131
129
127
124
121
119
116
115
113
111
110
109
108
106
106
105
105
104
104
104
105
106
108
109
111
112
114
117
118
121
123
126
127
130
132
134
137
139
141
143
145
147
149
150
152
152
153
153
153
153
152
152
151
150
148
147
145
143
141
138
135
133
131
130
127
126
124
122
119
117
114
112
110
109
108
107
105
105
105
105
105
105
106
107
107
108
111
111
113
115
117
120
123
125
127
129
132
134
137
140
141
143
144
146
148
149
150
151
152
152
152
152
151
150
149
149
148
147
145
144
142
140
138
135
133
131
128
127
124
121
120
117
115
113
111
110
108
107
106
105
104
104
104
104
105
106
107
108
109
111
113
115
117
119
122
124
126
128
130
133
136
136
136
143
151
146
143
150
154
148
148
153
155
150
148
153
155
151
148
148
147
144
143
140
136
134
133
131
128
127
124
122
120
118
116
114
111
111
109
109
111
102
98
106
107
100
102
109
107
107
108
114
116
112
114
120
120
121
126
127
127
131
136
138
139
142
146
148
148
148
150
152
152
153
152
153
152
153
152
150
150
150
148
146
143
141
139
137
134
131
128
126
124
121
119
117
115
113
111
110
108
108
106
106
104
103
103
103
104
104
105
106
108
109
111
112
114
117
120
123
125
127
130
133
136
138
140
142
144
145
147
148
150
150
152
153
153
154
154
154
153
152
150
149
147
145
143
141
139
137
134
132
130
127
125
123
121
118
121
116
108
111
112
107
104
104
105
103
98
100
104
104
103
106
108
109
112
114
114
116
120
122
125
127
128
131
134
137
139
142
143
146
147
149
151
153
153
154
156
149
150
158
152
147
150
150
149
144
143
147
143
136
134
132
129
127
127
123
119
119
118
115
113
110
109
108
105
104
104
104
103
103
104
104
106
107
108
109
110
112
114
117
119
122
124
126
127
130
133
135
138
140
142
144
146
148
149
151
152
153
154
154
154
154
153
153
151
149
147
145
144
142
140
137
135
133
130
127
125
121
120
118
116
114
112
111
110
109
108
106
105
105
105
104
105
105
106
106
108
110
111
113
116
118
120
122
124
126
127
130
132
135
137
139
141
143
145
148
150
151
152
152
152
153
152
152
151
151
150
148
147
144
144
141
139
138
136
134
132
129
127
125
123
120
117
115
113
111
109
108
107
107
105
105
105
105
105
105
106
107
108
109
111
112
115
116
119
121
123
126
127
131
132
135
137
139
141
143
145
146
148
149
150
151
152
152
152
151
151
150
150
149
148
147
145
144
141
139
137
135
132
129
127
125
123
120
118
116
115
112
111
109
108
107
105
105
104
104
104
105
105
106
108
109
111
112
115
117
119
121
123
124
127
129
131
134
136
139
140
143
144
146
147
148
149
151
152
153
153
152
153
152
152
150
148
147
145
144
142
139
137
135
132
131
128
126
124
122
119
117
115
112
111
109
108
107
106
105
105
105
105
105
106
107
107
108
109
111
113
115
117
119
121
123
126
127
129
131
134
137
140
142
145
147
149
150
151
152
153
153
152
153
153
152
152
150
149
148
147
145
143
141
138
136
133
130
128
126
124
121
119
117
115
113
111
111
109
108
106
105
104
104
104
104
105
105
106
107
109
110
111
113
115
118
121
123
126
128
131
133
136
138
140
142
144
145
148
150
152
151
152
153
154
154
154
153
152
151
150
148
146
145
143
141
138
136
133
131
129
127
125
122
120
116
114
112
110
109
107
106
105
104
104
104
103
102
103
105
107
109
110
111
113
115
117
119
121
124
126
127
130
132
134
136
138
141
143
145
147
149
150
151
152
152
153
153
153
152
152
151
150
149
148
146
144
143
140
137
134
132
129
127
125
122
120
118
116
113
111
108
106
105
104
104
103
103
103
104
104
106
106
107
108
110
112
113
116
118
121
123
126
127
130
133
135
138
140
142
144
146
147
149
150
152
152
153
153
153
153
153
152
150
149
147
146
144
143
141
139
137
134
131
128
127
124
122
120
119
116
114
112
111
110
108
107
106
105
104
104
104
104
104
106
107
108
110
111
113
115
117
119
122
124
127
128
131
134
136
139
141
144
146
148
150
151
152
152
152
153
153
153
153
152
151
150
148
147
144
142
140
138
136
134
132
130
127
126
124
121
118
116
114
112
111
109
108
107
106
105
105
105
105
105
105
106
107
108
109
111
113
114
117
119
122
124
127
129
132
135
137
139
140
143
144
146
147
149
150
151
152
152
152
152
152
150
150
150
149
148
146
144
142
140
138
135
132
130
128
126
124
122
120
118
116
114
112
111
109
108
106
105
105
104
103
101
105
113
109
104
111
117
113
112
117
121
118
118
125
131
131
130
134
137
139
142
143
143
144
148
149
150
152
152
153
154
154
153
152
151
150
148
148
149
140
133
140
140
130
127
132
128
125
122
124
123
115
111
112
110
106
107
106
104
106
108
108
106
107
108
108
108
108
110
112
114
115
118
119
122
125
127
127
130
133
136
139
142
143
145
147
148
150
150
152
152
152
153
153
153
152
151
150
149
147
146
144
141
140
137
135
132
130
127
125
123
121
119
116
115
113
111
110
108
106
105
104
104
104
104
104
105
106
107
108
109
111
112
115
117
120
123
125
127
130
133
134
137
139
141
142
144
146
148
150
151
152
153
154
154
154
153
153
152
150
150
147
146
144
142
139
137
135
133
130
128
127
124
121
118
116
114
113
110
107
104
107
110
103
101
104
105
102
102
105
109
107
106
112
117
116
117
121
123
125
127
127
130
133
136
138
141
142
144
147
149
150
152
153
153
153
153
153
152
154
153
154
151
143
147
150
141
138
138
136
134
128
128
131
125
119
118
115
113
112
110
106
105
107
106
106
104
104
105
106
105
106
107
107
109
111
113
115
117
120
123
125
127
129
131
134
136
139
141
143
144
145
147
149
150
151
152
153
154
153
153
152
151
150
148
147
146
144
141
139
138
136
133
130
128
126
124
121
119
117
115
113
111
110
108
107
105
104
104
104
105
105
105
106
107
108
109
110
112
114
117
119
122
124
127
129
132
134
137
139
141
144
145
147
149
149
149
150
150
151
152
152
153
152
152
150
149
147
145
143
140
139
137
135
133
131
129
127
126
123
120
118
116
114
112
111
109
108
107
106
105
105
104
105
105
106
107
108
109
110
111
113
115
118
121
123
126
128
131
133
135
137
139
141
143
145
147
148
150
151
152
152
152
151
151
151
152
151
150
149
147
145
144
141
139
136
134
132
129
127
125
123
121
119
116
115
113
111
110
108
107
105
105
104
104
104
104
105
106
107
108
111
112
114
116
117
119
121
124
127
129
130
133
136
138
140
141
144
145
147
149
151
152
153
154
153
153
153
152
151
150
148
147
145
144
141
140
138
135
133
131
128
126
124
121
120
117
115
113
111
110
108
107
106
106
105
105
105
105
105
105
106
107
109
110
112
114
116
118
120
122
125
127
128
132
134
138
140
143
145
147
149
150
151
152
153
153
154
154
153
153
153
151
150
148
147
144
142
140
137
135
132
130
127
126
124
121
119
117
115
113
112
110
108
106
105
105
104
105
103
104
104
105
106
107
108
109
111
114
116
118
121
123
126
128
130
133
135
137
139
142
144
146
147
149
150
152
153
153
154
154
153
153
152
151
150
148
147
145
144
142
139
137
135
133
130
127
125
122
120
117
115
112
111
109
107
106
105
104
103
102
102
102
103
104
106
108
108
111
112
114
117
119
121
123
125
127
130
133
135
138
140
143
145
146
148
149
150
151
152
152
153
153
153
152
152
151
150
149
148
145
144
141
138
136
133
132
129
127
124
122
120
118
115
113
111
109
108
107
106
105
104
105
105
105
104
104
104
107
108
110
111
113
115
118
121
123
125
127
129
132
135
137
139
141
144
146
147
149
150
152
152
154
154
155
154
153
152
150
150
149
147
144
143
141
139
136
133
130
128
127
124
123
121
119
116
115
112
111
109
107
105
105
104
104
104
104
105
105
107
107
108
110
111
114
115
118
120
122
124
127
129
131
134
136
139
141
144
146
147
149
149
150
151
152
152
153
152
152
151
150
149
147
145
144
142
141
139
137
136
133
131
128
126
124
121
119
116
115
112
110
109
108
106
106
105
105
104
105
105
105
106
107
109
110
111
114
116
118
120
123
125
127
130
132
134
135
137
139
141
143
144
146
148
149
150
150
150
151
151
151
151
152
150
150
148
147
144
143
140
136
133
133
138
132
124
127
128
121
115
116
117
111
105
108
111
108
103
104
105
104
104
105
104
105
108
109
111
112
114
115
118
120
123
125
127
129
132
136
141
137
133
142
149
143
144
153
153
152
153
156
158
153
150
151
150
147
148
147
143
143
143
141
137
135
133
132
128
125
123
121
119
116
114
112
111
110
109
107
106
106
106
106
105
105
104
105
106
107
109
111
112
114
117
119
121
122
125
127
130
133
136
139
141
144
145
147
148
150
151
152
153
154
153
154
153
153
152
151
150
147
146
144
142
140
137
135
133
131
127
126
123
121
119
117
115
113
111
109
107
105
105
105
105
103
104
105
105
106
106
107
108
110
112
114
117
119
122
125
127
129
131
133
135
138
140
142
144
146
148
150
151
152
153
153
153
154
153
153
152
151
149
148
146
144
143
140
138
136
134
131
128
126
123
121
118
116
114
112
110
109
107
106
104
103
103
102
101
101
106
111
107
106
112
114
113
113
117
121
121
121
126
132
131
133
136
139
141
144
145
145
147
149
150
151
152
152
153
153
153
153
152
151
150
149
146
144
143
140
139
135
127
130
132
123
121
121
120
117
111
112
115
110
107
108
106
105
106
106
103
104
106
107
107
108
110
112
114
114
117
119
121
124
126
127
130
133
135
138
140
142
144
146
148
149
150
152
153
153
154
153
152
151
151
150
149
147
146
144
142
140
138
135
132
129
127
125
124
123
121
118
115
113
111
110
109
107
105
105
104
104
104
105
106
107
107
109
110
111
113
115
117
119
121
123
125
127
130
132
136
137
140
142
144
147
148
149
148
150
151
152
152
152
152
152
151
150
148
146
145
144
142
141
139
137
134
132
130
127
125
123
120
118
116
114
111
110
109
108
107
106
106
105
105
104
105
105
106
107
109
110
112
114
116
119
121
124
126
127
129
131
133
135
138
141
143
144
146
148
149
150
151
151
152
152
152
152
152
151
149
149
147
145
143
141
139
137
134
132
130
127
126
124
122
120
118
115
113
111
110
108
107
106
105
105
104
105
105
106
106
108
109
110
111
112
114
116
119
121
123
126
127
130
132
135
136
139
140
144
145
148
150
152
152
153
154
154
154
153
153
151
151
149
148
147
145
143
141
139
136
134
131
129
127
124
121
118
116
114
111
110
109
108
107
106
106
105
105
104
104
105
105
107
108
109
110
112
114
115
118
120
122
125
127
130
133
136
138
140
142
144
146
147
148
149
150
151
152
153
153
153
153
153
151
151
149
148
146
143
141
139
137
134
131
129
127
125
123
121
119
117
114
112
110
108
106
105
104
103
102
102
102
103
103
103
105
107
109
111
114
116
119
121
123
126
127
130
132
135
137
140
142
144
146
148
149
151
152
153
154
153
154
153
153
152
150
149
148
147
145
143
141
139
137
135
132
130
127
124
123
120
118
116
114
111
110
109
107
105
103
103
103
103
103
104
105
106
107
108
109
111
113
115
117
119
122
124
127
129
132
135
137
139
141
144
146
147
149
151
152
153
153
154
154
154
154
153
153
151
150
148
145
143
141
139
136
134
131
129
127
125
122
119
117
114
113
111
110
109
108
106
105
104
105
104
104
104
105
106
107
108
110
112
113
116
118
120
122
125
127
129
131
134
136
138
141
143
145
147
149
150
152
152
153
154
153
153
152
152
152
150
149
147
145
143
142
139
136
133
131
129
127
126
123
121
119
117
115
112
111
110
107
106
105
104
104
104
104
104
105
106
107
109
110
111
114
115
117
120
122
124
126
128
130
133
136
138
141
143
144
145
147
148
150
150
152
152
152
152
152
152
150
149
148
147
146
144
142
140
139
137
133
131
128
126
124
121
119
116
115
113
111
109
109
107
106
105
105
104
104
104
105
106
106
108
110
111
112
115
117
121
123
124
126
127
130
132
135
136
139
141
143
144
143
148
155
152
146
152
157
152
149
153
154
149
145
148
151
146
141
141
139
137
134
132
128
126
125
123
120
118
116
114
112
110
109
107
106
105
105
105
109
102
98
107
111
105
106
114
113
113
115
121
124
122
122
127
128
129
134
135
136
139
144
146
146
149
151
153
153
153
153
153
153
152
151
151
150
150
148
146
144
142
141
138
136
132
129
127
125
122
120
117
115
113
111
110
108
107
106
105
105
104
104
103
104
105
106
107
108
109
111
113
115
117
119
121
124
127
129
132
134
136
139
141
143
145
147
148
149
150
152
152
153
153
154
153
153
152
151
150
148
147
145
143
141
138
136
133
131
128
127
124
122
119
118
115
112
110
108
107
105
105
104
103
103
103
103
103
103
104
106
108
111
113
115
117
120
122
124
127
129
131
134
136
138
140
142
144
146
148
149
152
152
153
153
153
153
153
152
151
150
149
148
146
144
143
140
139
136
134
132
129
127
124
122
120
118
115
113
111
109
107
106
104
103
103
103
103
104
105
105
107
108
110
111
111
111
118
122
118
121
127
130
129
132
135
140
138
139
145
149
148
149
152
152
152
154
154
153
153
151
152
151
149
147
146
144
142
140
138
136
133
131
128
127
124
122
122
113
108
115
113
106
107
108
108
106
103
108
108
103
103
106
106
107
110
110
111
114
118
120
122
124
127
129
132
132
135
137
139
141
144
146
147
150
151
153
153
154
154
153
152
152
151
149
148
147
145
144
142
139
137
135
132
131
128
127
125
123
120
119
116
114
111
110
109
108
107
106
105
105
105
104
105
106
106
107
108
110
111
113
115
117
119
122
125
127
129
132
135
138
141
142
144
145
147
148
150
151
153
153
153
154
153
153
151
150
149
148
146
145
144
141
139
137
135
132
129
127
125
123
120
119
116
114
112
111
109
109
107
106
106
105
105
105
105
105
106
108
109
110
112
114
116
118
120
123
125
127
128
131
133
136
138
140
142
144
146
148
149
149
150
150
153
153
154
153
152
152
151
149
148
146
144
142
140
138
135
133
131
128
127
124
122
120
118
115
113
110
109
108
107
105
105
105
105
105
104
105
107
108
109
109
111
112
114
117
119
121
124
126
127
130
131
134
135
139
140
143
146
148
149
151
152
153
153
153
153
153
152
152
151
150
149
147
145
144
141
139
137
134
131
128
127
125
122
120
117
115
113
111
110
108
107
106
106
104
103
103
104
104
105
106
107
108
110
112
114
116
118
120
122
125
128
130
133
135
138
140
142
144
145
147
148
150
151
152
153
153
153
153
153
152
152
150
149
147
146
144
142
140
137
135
132
130
127
126
124
122
119
116
113
111
109
108
106
105
104
103
103
103
103
103
103
104
105
107
109
111
113
116
118
121
123
125
127
129
132
134
137
139
141
144
146
148
149
151
152
153
153
153
153
153
153
152
151
150
149
147
146
144
143
140
139
136
133
130
127
125
122
120
118
116
113
111
110
108
106
105
103
103
103
103
104
104
105
106
107
108
110
111
113
115
117
120
122
125
127
129
132
134
137
139
142
143
146
147
149
150
151
152
153
153
153
154
153
153
152
151
150
147
145
144
141
139
137
135
132
130
127
125
122
119
117
114
113
111
110
109
107
107
106
105
104
103
103
104
105
105
107
108
110
111
114
115
118
120
122
125
127
129
131
134
136
139
141
143
145
147
149
150
152
152
153
152
152
152
152
152
151
150
148
147
145
144
140
138
136
134
132
130
128
126
124
121
120
117
116
113
111
110
109
107
106
105
105
104
104
104
105
106
107
108
109
111
112
114
117
118
121
123
126
128
131
134
136
139
141
143
144
146
147
149
150
152
152
152
152
152
152
151
150
149
148
147
146
144
143
140
139
136
133
131
128
127
124
122
120
118
116
114
112
111
110
108
107
106
105
104
104
104
105
104
102
110
115
111
108
117
121
117
118
124
127
124
124
132
137
136
137
140
144
145
147
147
147
149
151
152
152
153
153
153
153
152
151
149
147
146
144
143
143
132
128
134
131
123
123
126
122
118
116
118
116
108
107
109
106
104
105
105
104
105
109
108
108
109
110
111
111
113
115
117
120
122
124
125
127
130
132
134
136
139
142
145
147
148
149
151
152
152
152
152
152
152
152
152
151
149
148
146
144
142
140
137
135
133
130
127
126
124
121
119
116
114
113
111
109
108
107
106
105
104
103
103
104
105
106
107
108
110
111
112
114
116
118
121
123
127
129
132
134
136
139
141
143
144
146
148
149
150
152
152
153
153
153
153
152
152
151
149
148
146
144
142
140
137
135
133
131
128
127
125
123
120
117
114
112
111
109
108
106
105
104
104
103
103
103
103
104
105
107
109
111
113
115
118
120
122
124
126
128
131
133
135
138
140
142
144
146
148
150
151
153
152
153
154
153
153
152
152
151
149
148
147
145
144
142
139
136
133
130
128
126
124
122
119
117
115
113
111
109
106
105
104
103
103
103
103
103
104
105
107
107
105
113
114
110
115
122
122
123
125
130
132
131
133
140
143
143
145
147
147
150
151
151
151
152
153
154
153
153
152
151
149
147
146
144
141
139
138
135
133
131
130
128
122
115
121
120
111
112
112
112
110
106
109
111
105
102
105
104
105
106
107
106
108
112
113
115
116
119
122
124
125
127
129
131
134
136
139
141
144
146
148
149
151
152
153
153
153
153
152
152
151
150
149
148
146
145
142
140
137
135
133
131
129
127
125
122
121
118
116
113
111
110
108
107
106
106
105
105
105
105
106
106
107
108
109
111
112
114
116
118
121
123
126
127
130
132
135
137
139
140
142
143
145
147
148
149
151
151
152
152
152
151
150
149
149
148
147
146
144
142
140
138
135
132
130
127
127
124
122
120
118
116
114
112
110
108
107
106
104
104
103
103
104
105
106
106
108
109
111
114
116
118
120
122
124
126
128
131
134
136
138
141
143
144
146
147
148
149
151
152
153
153
152
152
151
150
149
148
146
145
143
142
139
138
136
133
132
129
127
125
123
120
118
116
113
112
110
109
107
107
106
105
105
105
105
106
106
107
107
108
110
111
114
115
117
120
122
125
127
128
131
133
136
139
142
144
147
148
150
151
152
153
153
153
153
153
153
152
151
150
149
147
145
144
141
139
136
134
132
129
127
124
122
119
117
115
113
111
111
110
108
107
105
105
104
105
105
105
104
106
108
109
110
110
113
114
117
120
122
125
127
130
132
135
137
139
141
143
145
147
148
150
151
152
153
153
154
154
154
153
152
152
150
147
145
144
142
140
137
135
132
130
128
126
124
121
118
115
113
111
110
108
107
106
104
103
103
103
103
103
103
105
106
108
110
112
114
116
118
120
122
124
127
128
132
134
137
139
141
144
145
147
149
151
152
152
153
153
153
153
153
153
152
150
150
148
147
145
143
141
138
135
132
130
127
126
123
120
118
116
114
111
109
107
106
105
105
104
104
104
104
105
106
106
107
108
109
111
112
115
117
120
122
125
127
129
132
134
137
139
141
143
145
147
148
150
151
152
153
153
153
154
154
154
153
151
149
147
146
144
142
139
137
134
132
129
127
124
122
120
118
116
114
113
111
110
108
107
106
105
104
104
105
105
105
106
108
109
110
111
113
115
117
119
121
124
126
128
130
132
135
137
139
142
144
146
148
150
151
151
152
152
153
153
153
153
151
151
149
148
145
144
141
139
137
135
134
131
129
127
125
122
120
117
115
113
111
110
108
107
106
106
105
105
105
105
105
106
107
107
109
110
112
114
116
119
121
124
126
128
130
134
136
138
139
141
144
145
147
148
150
150
152
152
152
152
151
150
150
150
149
149
147
146
143
142
139
137
134
130
127
126
131
125
116
119
122
114
109
111
111
106
101
105
108
107
103
104
106
106
107
108
108
109
112
114
116
118
120
121
124
127
129
132
133
136
139
142
147
142
138
148
152
146
148
156
154
153
154
157
157
150
148
150
148
144
145
143
138
138
138
135
130
128
127
125
122
118
115
113
111
109
108
106
106
105
105
104
104
105
105
106
106
107
107
109
110
112
114
116
119
121
124
126
128
130
132
135
138
141
143
145
147
149
150
151
151
151
151
152
152
152
152
151
151
149
149
147
145
143
140
138
135
133
130
128
126
124
122
120
118
116
114
113
111
110
108
106
104
104
103
103
103
104
104
105
107
108
109
111
113
115
118
121
124
126
127
131
133
136
138
140
142
144
146
147
149
150
152
152
153
154
154
153
151
151
150
149
148
146
144
142
141
138
136
133
132
129
127
125
123
120
117
116
113
111
110
108
106
105
104
103
103
102
102
102
104
106
108
109
110
112
114
117
119
121
123
126
127
130
133
135
138
141
143
145
147
148
150
151
152
152
153
153
153
153
152
151
150
149
147
147
146
144
141
138
135
133
130
127
126
124
121
120
118
116
113
111
109
108
106
106
105
105
105
105
105
105
106
107
107
107
109
111
119
117
115
122
126
126
125
129
133
134
133
138
144
145
145
148
150
151
153
153
152
152
154
154
155
153
151
150
149
147
146
144
141
139
136
134
130
129
126
125
122
113
115
119
111
108
110
109
109
104
105
110
106
102
105
106
105
108
109
109
111
114
117
118
119
121
124
127
127
129
132
134
136
138
141
142
145
148
149
150
150
151
152
153
153
152
152
151
150
149
148
146
144
142
140
139
137
135
132
130
127
126
123
121
118
116
114
112
110
108
107
106
106
105
105
104
105
105
106
107
107
109
110
112
114
116
118
121
123
125
127
130
132
134
136
138
140
142
144
146
147
149
150
151
152
152
152
151
152
152
151
150
149
148
146
144
142
140
138
135
133
130
128
126
124
122
119
118
115
113
111
110
108
107
106
105
104
104
104
105
105
106
108
109
111
112
114
116
118
119
121
124
126
128
130
133
134
137
138
141
142
144
145
147
150
151
152
153
154
153
153
153
152
150
149
148
146
145
143
141
139
136
134
132
130
127
125
122
120
117
115
113
111
110
109
107
106
106
105
105
105
105
105
106
106
107
108
110
111
113
115
117
120
122
124
126
128
131
133
136
139
141
143
145
147
149
150
152
152
152
153
153
153
153
153
152
151
149
148
146
144
142
140
137
134
132
129
127
125
123
120
118
116
114
112
111
109
107
106
104
104
103
104
104
104
105
106
107
108
109
110
113
115
118
120
123
125
127
130
132
134
136
138
140
142
144
146
148
149
151
152
153
153
153
153
153
152
152
150
149
147
145
144
141
140
137
136
133
131
129
127
124
121
119
117
115
113
111
109
108
106
105
103
102
102
101
103
103
105
106
108
109
111
113
115
117
119
121
124
126
128
130
133
137
139
141
143
145
148
149
151
151
152
153
153
153
152
152
152
151
150
149
148
146
145
142
139
137
134
132
130
127
126
123
121
119
116
113
111
110
109
108
106
106
106
106
105
105
104
105
105
106
107
109
110
112
115
117
119
121
124
126
128
130
133
135
138
140
142
144
146
148
150
151
152
153
154
154
154
154
152
151
150
148
147
145
144
142
140
137
135
132
129
127
125
124
121
120
117
115
113
111
110
108
107
106
106
105
105
105
105
105
106
107
108
109
111
112
114
116
118
121
122
125
127
129
132
135
137
140
142
144
146
148
150
150
151
152
153
153
153
153
152
152
150
148
147
145
143
141
140
138
136
134
131
129
127
124
122
120
117
115
113
111
110
109
107
107
105
105
105
105
105
105
105
106
107
109
111
112
114
116
118
121
123
126
128
131
132
134
136
139
141
143
144
146
146
149
149
146
154
158
150
148
155
156
148
148
151
149
142
140
144
144
137
134
133
131
127
126
123
120
118
116
114
111
110
108
107
106
105
105
104
103
104
105
107
110
101
103
114
113
109
115
121
120
121
125
131
132
129
132
137
137
139
142
143
144
148
153
152
152
153
155
155
153
152
152
151
149
148
147
145
144
143
140
138
135
133
131
128
126
123
121
118
116
113
112
110
109
107
107
106
105
105
105
105
104
105
105
106
108
109
111
112
114
116
119
121
123
125
127
130
133
135
138
140
143
145
147
148
149
151
151
152
152
153
154
153
153
152
152
150
149
146
145
143
141
138
136
134
132
129
127
125
122
120
118
116
113
112
109
108
106
104
104
103
103
103
103
103
104
105
106
107
108
111
114
116
119
122
123
126
127
131
133
135
137
140
142
144
146
148
149
151
152
153
154
153
153
153
152
152
150
150
148
146
144
142
140
139
136
134
132
129
127
125
123
120
118
115
114
111
110
108
106
105
104
103
102
103
103
104
105
107
107
109
111
112
114
115
118
120
123
125
127
129
132
134
137
139
142
144
146
148
149
150
151
152
153
153
153
153
153
152
152
151
151
149
148
145
142
139
137
135
132
129
127
125
122
119
116
112
111
109
108
107
107
105
105
104
104
103
104
104
105
105
107
109
110
113
113
113
122
125
120
127
132
132
132
134
139
141
139
141
148
150
149
150
152
152
153
154
152
151
150
150
150
149
147
146
144
142
141
139
137
133
130
127
126
126
124
122
121
111
112
118
111
106
108
108
108
104
103
108
106
102
104
106
107
108
111
111
111
116
119
121
123
125
127
131
132
134
137
140
141
144
146
147
149
150
151
152
153
153
154
153
153
152
150
148
146
145
143
142
140
139
137
135
132
130
127
125
123
120
119
117
115
112
111
110
109
107
106
106
105
105
105
105
105
106
107
109
109
111
113
115
118
120
122
125
127
129
131
133
135
137
139
141
143
145
147
149
150
150
151
151
152
152
152
152
152
151
149
148
146
144
142
140
138
136
133
131
128
127
124
122
120
118
115
113
111
110
108
107
106
105
105
104
104
104
105
106
107
108
110
112
113
114
116
118
120
123
125
127
130
132
135
136
139
140
142
144
146
149
150
151
153
153
154
153
153
152
152
151
149
149
146
145
143
141
139
137
134
132
129
127
126
123
120
118
116
114
111
111
109
108
107
107
106
106
105
104
103
104
105
107
108
109
111
112
115
117
119
121
123
126
128
131
134
137
139
141
144
146
147
149
150
152
152
153
153
154
154
154
153
152
151
150
148
146
144
141
139
136
134
132
129
127
125
123
120
118
116
114
112
110
108
107
106
105
104
104
103
103
104
105
105
106
107
109
110
113
115
118
120
123
125
127
129
131
134
136
138
140
143
144
147
148
149
151
152
153
153
153
153
153
152
152
151
149
148
146
144
142
141
138
136
134
132
129
126
123
121
119
117
114
112
110
108
107
105
104
102
102
102
103
103
104
105
106
107
109
111
113
115
117
119
121
124
127
128
131
134
137
139
141
144
145
147
148
150
151
152
153
153
153
153
153
152
151
150
150
148
146
144
142
139
137
135
132
130
127
126
123
121
118
116
113
111
110
109
108
107
106
106
105
105
105
104
104
105
106
107
109
111
112
114
116
119
121
123
126
127
130
132
135
137
140
142
144
146
148
149
152
153
154
155
154
154
153
152
151
151
149
148
146
144
142
140
137
134
132
129
127
126
124
122
120
118
115
112
111
110
108
107
105
104
104
105
105
105
105
106
107
109
110
111
113
115
117
119
121
124
126
127
130
133
135
138
140
142
144
145
146
148
149
150
151
152
153
152
152
151
151
150
149
147
145
144
142
141
139
137
134
133
130
127
126
123
121
119
117
114
112
111
109
108
106
105
104
103
103
103
104
105
106
107
108
109
110
111
122
123
118
123
131
130
126
130
136
136
134
139
147
149
146
148
151
151
151
152
150
150
151
152
151
150
149
148
146
145
144
142
140
137
135
133
134
127
119
122
125
117
112
117
115
111
109
111
112
107
103
105
106
103
105
106
105
107
111
113
111
113
116
119
120
121
123
126
128
130
132
134
136
139
142
144
146
148
150
152
153
153
153
153
153
152
151
151
150
148
147
146
144
142
140
138
136
133
131
128
126
124
122
119
117
115
112
111
109
108
107
107
106
106
105
104
104
104
105
106
108
108
111
112
114
116
118
120
122
125
127
131
133
136
138
141
143
145
147
148
149
150
152
152
153
153
154
154
153
153
152
150
148
146
145
143
140
139
136
133
131
129
127
124
123
120
118
116
113
111
109
107
106
105
104
104
103
103
104
105
105
106
106
108
110
111
114
116
119
121
124
126
127
130
132
134
137
139
142
144
146
147
149
150
152
152
153
154
154
153
153
152
152
150
149
147
146
144
142
140
138
135
132
130
127
124
122
120
118
115
113
110
109
107
105
104
102
102
103
103
103
104
105
106
107
109
110
111
113
116
118
120
123
125
127
130
133
135
137
141
142
144
146
148
149
150
151
153
153
153
154
154
153
153
152
151
150
148
145
143
140
138
137
134
131
129
127
125
122
119
117
115
113
111
110
108
108
107
106
105
105
105
104
104
105
106
107
108
110
112
113
114
116
120
127
126
124
130
134
133
134
137
142
142
141
145
151
151
151
153
154
154
154
153
152
151
150
150
149
147
144
144
141
138
136
133
131
129
127
126
123
122
121
119
115
107
110
113
104
103
105
106
105
102
105
110
106
105
107
109
110
112
114
114
116
121
124
125
127
129
132
135
136
139
141
143
144
145
147
148
150
151
152
152
152
152
152
151
151
149
147
146
145
144
142
140
138
136
134
131
127
126
124
121
120
117
115
113
112
110
108
107
106
106
105
105
104
104
104
106
107
108
109
111
112
115
117
119
122
124
127
127
130
133
135
138
139
141
143
146
147
148
148
150
151
151
152
152
153
152
152
151
150
149
147
145
143
140
138
136
133
131
129
127
125
123
120
117
115
113
111
109
108
107
106
105
104
104
103
104
104
106
107
109
109
111
112
113
115
117
120
122
125
127
130
132
135
136
138
141
143
145
147
149
151
151
152
153
153
152
152
152
152
151
150
148
148
145
144
142
139
137
134
133
129
127
125
123
121
119
116
114
113
111
110
109
108
107
106
105
103
103
103
105
105
106
107
109
111
113
115
116
118
120
123
126
128
131
134
137
139
141
143
145
147
148
150
152
153
154
154
154
154
153
153
152
151
149
148
146
144
142
139
137
134
132
130
127
126
124
121
120
117
115
112
111
109
108
106
106
105
104
104
103
104
103
104
105
106
108
110
112
115
117
120
122
125
127
129
131
133
135
138
140
143
145
147
148
150
152
152
153
154
154
154
153
153
152
150
149
147
146
144
142
141
138
136
134
131
128
126
124
121
119
117
115
113
110
109
107
105
104
104
103
104
104
105
105
106
107
107
109
110
112
114
117
118
121
123
126
128
130
133
136
138
140
143
144
147
148
149
151
152
153
154
154
154
154
153
153
152
150
149
146
144
142
140
138
136
133
130
128
127
123
121
118
115
114
112
110
109
108
107
106
105
104
105
104
104
105
105
106
108
109
111
112
115
117
119
122
124
126
127
130
132
134
137
139
141
144
146
148
149
150
152
154
154
154
153
153
153
152
150
150
148
147
144
143
140
137
135
133
131
129
127
125
122
120
118
116
113
111
109
108
106
106
105
105
104
105
105
106
106
107
108
110
111
112
115
116
118
121
123
126
127
130
132
135
138
140
142
144
144
146
148
149
150
151
152
152
152
152
152
151
150
149
148
147
145
144
142
140
137
135
132
130
127
125
123
121
117
112
116
119
111
106
111
112
104
102
105
106
102
100
106
110
108
107
111
113
114
117
118
120
122
125
127
127
130
133
135
138
140
143
144
146
147
149
150
154
149
145
153
158
149
147
154
152
149
147
149
149
142
137
138
136
131
131
129
126
124
124
122
118
115
115
113
111
108
107
107
106
105
104
104
104
106
107
108
109
109
110
112
115
116
118
120
122
125
127
129
131
133
135
138
141
143
145
147
149
151
152
153
153
153
153
153
152
151
151
149
148
146
145
144
141
139
137
134
132
129
127
125
122
120
118
115
113
111
110
109
108
107
106
105
104
104
104
105
105
107
107
109
111
112
114
116
117
120
122
125
127
130
132
135
137
139
141
143
144
146
148
149
150
152
152
153
152
153
153
152
152
150
149
147
145
143
141
138
136
134
133
130
128
127
125
122
120
117
114
112
110
109
107
105
104
103
103
103
103
103
104
104
106
108
110
111
113
116
118
120
123
125
127
129
132
134
137
139
142
144
147
149
151
151
153
153
153
153
153
153
152
152
150
150
148
147
146
144
141
139
137
134
131
128
127
124
123
120
118
115
113
111
110
108
106
106
105
105
104
104
105
105
106
107
108
109
110
111
113
115
117
119
122
124
127
129
131
135
137
139
141
143
146
147
148
150
151
152
153
154
154
154
153
153
153
151
149
148
146
144
141
140
137
135
132
130
127
125
122
119
116
114
113
111
110
109
108
107
106
105
104
104
104
104
105
106
107
108
110
111
113
115
116
118
122
128
127
127
133
137
136
137
140
144
144
143
147
153
152
152
153
153
153
153
153
151
150
149
148
147
145
142
141
138
136
134
132
130
128
127
124
121
120
119
117
112
105
110
111
103
103
105
106
105
102
107
111
106
106
109
110
111
113
115
115
118
122
125
127
128
131
134
137
139
141
142
143
144
147
149
149
151
152
153
152
152
152
152
150
150
149
147
146
144
143
140
138
135
133
131
128
126
124
121
119
117
115
114
111
110
108
107
106
105
105
104
105
105
106
106
107
108
110
111
113
115
118
120
122
124
126
127
129
132
134
137
139
141
143
145
147
147
148
149
150
152
152
153
152
152
152
152
150
149
147
145
144
141
139
137
135
132
130
127
126
123
121
118
116
114
111
110
108
107
106
105
104
105
105
106
105
105
106
108
109
109
111
112
116
118
120
122
125
127
129
131
133
136
138
141
143
145
147
149
150
152
152
152
153
153
153
152
151
151
151
150
147
145
144
142
140
138
135
132
129
128
126
123
121
119
117
115
113
111
110
109
108
107
105
104
104
104
104
105
105
107
108
109
111
112
114
115
118
121
124
126
128
131
133
136
138
140
142
144
146
148
149
151
152
154
154
154
154
154
153
153
152
150
149
146
145
143
140
139
135
133
131
128
127
125
122
120
117
114
112
110
108
107
106
105
104
103
103
102
103
103
104
106
107
109
111
113
115
118
119
122
124
126
128
130
133
135
138
140
143
145
147
148
150
151
152
153
153
153
153
153
152
152
150
150
148
148
146
144
143
140
138
135
132
129
127
125
122
119
117
114
112
110
107
106
104
103
103
103
103
103
104
105
105
106
107
108
110
111
114
116
118
121
124
127
129
132
134
137
139
141
143
145
147
148
149
150
151
152
152
153
153
153
153
153
152
150
148
146
144
142
140
138
135
133
131
128
126
123
121
119
117
116
114
113
111
110
108
107
106
104
104
103
103
104
104
106
107
109
110
112
114
116
119
121
123
125
127
129
132
134
136
138
141
143
146
148
150
151
152
153
153
153
153
153
152
152
150
150
148
146
144
142
140
137
135
134
132
129
127
125
123
120
118
116
114
112
110
109
108
107
106
105
105
104
104
105
106
107
108
109
110
112
113
116
117
120
122
125
127
129
132
134
137
139
140
142
144
145
147
149
150
151
152
152
152
152
151
150
149
149
148
147
146
144
143
139
137
134
130
135
132
123
123
126
121
114
114
115
111
106
106
111
109
104
104
105
105
104
105
105
105
107
109
110
112
114
117
119
121
124
126
128
129
133
135
140
142
135
139
149
146
142
150
154
153
152
155
159
156
151
152
152
148
147
147
144
141
142
141
137
133
132
131
128
125
121
120
118
115
113
110
109
108
107
106
105
105
105
105
106
106
106
106
107
108
110
112
114
116
118
120
123
125
127
128
130
133
136
139
141
143
145
147
149
150
151
152
152
152
153
153
152
152
152
150
149
147
145
144
141
140
137
134
132
130
127
125
123
120
118
116
114
112
111
109
108
107
105
104
103
104
104
104
105
106
107
108
109
111
113
115
116
118
122
125
127
130
132
135
136
140
141
143
145
147
148
150
151
152
153
153
153
154
153
153
152
151
149
148
145
144
141
139
136
135
133
131
127
125
123
122
119
116
113
111
110
108
107
106
105
104
103
103
102
103
103
105
106
108
110
112
114
116
118
121
123
125
127
129
132
134
136
139
141
144
146
148
149
150
151
152
153
154
153
153
153
152
151
149
148
147
146
145
144
141
138
135
132
130
127
126
123
121
118
117
114
112
109
108
106
105
105
105
104
104
104
104
105
106
107
107
109
111
113
115
117
119
122
124
126
129
131
134
136
138
141
143
145
146
148
150
151
152
153
154
154
154
154
153
153
151
149
147
146
144
142
140
137
135
133
130
127
125
122
120
118
116
114
112
111
109
108
107
106
105
104
104
104
105
105
106
108
109
111
112
114
116
119
118
119
126
130
127
129
136
138
137
138
142
145
144
144
150
154
151
151
152
152
152
153
151
150
149
148
147
145
143
140
139
137
135
134
132
130
127
126
123
121
118
117
116
109
104
111
108
101
103
104
105
104
102
108
111
105
106
109
110
111
115
117
117
121
125
127
128
132
134
139
140
140
143
145
146
148
149
150
151
152
153
152
151
150
150
149
149
148
147
145
143
142
140
138
135
133
131
128
127
124
123
120
119
117
115
113
112
110
109
107
106
105
105
105
104
105
105
106
107
109
111
112
114
117
119
120
122
124
126
128
131
134
136
139
141
144
145
147
147
149
150
152
153
153
153
154
153
152
151
149
148
147
145
143
142
139
137
134
132
130
127
126
123
121
118
116
114
111
111
109
108
107
106
105
105
105
105
106
106
106
106
108
108
111
112
114
117
119
122
124
126
127
129
132
135
138
141
143
145
147
148
150
151
152
152
153
153
153
153
152
152
151
150
148
147
144
143
140
138
135
133
130
128
126
124
121
118
117
115
113
111
110
109
107
106
105
104
104
104
104
104
105
106
107
109
110
111
113
115
118
120
123
126
127
130
133
135
138
140
142
144
145
148
149
151
152
153
154
154
155
154
154
153
152
150
149
147
145
143
141
138
136
133
131
129
127
125
122
119
116
114
111
110
109
108
105
103
103
103
103
102
102
103
104
106
108
109
111
113
115
117
119
121
123
126
127
130
133
135
137
140
142
144
146
148
149
151
151
152
153
154
153
152
152
152
152
150
148
146
146
144
142
139
136
133
131
129
127
124
122
120
117
115
113
110
108
107
105
104
104
104
104
104
104
105
106
106
107
108
110
112
114
116
119
121
124
126
127
131
133
135
137
140
142
144
146
147
149
150
151
152
153
154
154
154
153
153
151
149
148
146
144
143
141
138
136
134
131
128
126
123
121
119
118
116
114
112
111
109
107
106
105
104
104
104
104
105
105
106
107
108
110
112
114
116
119
120
122
125
127
129
131
134
136
139
141
143
145
148
149
150
152
152
152
152
153
153
153
152
151
150
149
147
144
143
140
139
137
134
132
130
128
126
123
121
119
116
114
112
111
109
107
106
106
105
105
105
105
105
105
106
107
108
110
111
113
115
118
120
122
125
127
129
132
134
136
138
140
142
144
146
148
149
150
151
152
152
152
147
154
157
151
147
153
153
144
142
144
142
135
132
135
134
128
125
124
122
119
118
114
111
110
109
108
106
105
104
103
103
104
105
105
106
107
108
111
115
111
108
118
123
116
119
128
130
130
133
139
143
139
140
144
145
144
149
150
149
152
155
154
153
153
154
154
151
149
148
147
144
143
140
138
136
134
132
129
127
125
123
121
118
116
114
111
110
109
107
106
105
105
104
105
105
105
105
105
106
108
109
111
113
115
118
120
123
124
126
128
131
134
137
140
142
144
147
148
150
151
152
153
154
154
153
153
153
152
152
150
149
147
146
144
141
139
136
134
131
128
127
125
123
120
119
117
114
113
112
111
108
107
105
105
104
103
103
103
104
105
106
107
109
110
112
114
116
119
122
124
127
129
132
134
136
139
140
143
145
147
149
151
152
153
154
154
154
154
154
153
152
150
149
147
145
144
142
140
137
135
133
131
128
126
124
121
118
116
114
112
110
108
107
106
105
104
103
103
102
103
104
106
107
108
110
112
113
115
117
120
122
124
127
128
131
134
136
138
141
143
145
147
148
150
152
153
153
154
154
154
153
153
152
151
150
148
147
145
143
140
138
136
133
130
127
125
123
121
118
116
113
111
109
107
106
105
105
105
105
104
105
105
105
106
106
108
109
111
113
115
117
120
122
124
127
129
132
135
137
138
140
142
145
147
148
149
150
152
153
153
154
154
154
153
152
150
149
147
146
143
142
139
137
134
133
129
127
125
123
121
119
117
115
113
111
110
108
107
106
105
105
104
105
104
105
106
107
109
110
111
113
115
117
119
122
123
123
130
133
129
134
141
141
141
144
147
149
146
147
152
154
152
152
153
152
153
152
149
148
146
145
143
141
139
137
136
133
132
130
127
125
123
120
117
115
113
112
112
103
103
111
105
101
104
105
107
104
105
111
111
108
110
112
114
116
119
121
122
126
129
132
133
135
138
140
142
143
146
147
147
149
150
151
151
151
151
151
150
151
150
150
148
147
145
144
141
139
137
134
132
129
127
125
122
121
118
116
114
113
111
109
107
106
105
105
104
104
104
105
106
106
107
109
111
112
114
116
118
120
122
125
127
129
131
134
136
139
141
143
144
145
147
148
150
152
153
153
154
154
153
152
151
150
148
147
145
144
141
139
137
135
133
130
128
126
123
121
119
117
114
113
111
109
108
107
106
106
105
105
106
106
106
106
107
108
109
111
113
114
117
119
121
123
125
127
128
131
134
137
140
142
144
146
148
149
151
152
152
153
154
154
153
153
152
151
150
149
147
146
143
141
138
136
133
131
128
126
124
121
120
117
115
113
111
109
108
106
105
104
104
104
104
105
105
105
107
108
108
109
111
113
116
118
121
124
127
128
131
133
136
138
140
142
144
146
147
149
150
151
152
152
153
153
153
152
152
151
150
148
147
145
143
141
139
137
134
132
130
127
126
123
120
117
115
113
111
109
108
106
105
104
103
102
102
102
103
105
105
107
108
110
112
114
116
118
121
123
125
127
130
132
135
137
140
142
145
147
148
149
150
151
152
152
152
153
152
153
151
151
150
149
148
145
144
141
139
136
134
131
129
127
125
122
120
118
115
113
110
109
108
107
106
105
105
104
104
104
105
105
106
106
108
110
111
113
116
118
120
123
125
127
130
132
134
136
139
141
144
145
147
149
150
152
152
154
155
156
155
154
152
151
150
149
147
144
143
140
139
136
134
130
128
126
124
121
120
118
116
114
112
111
109
108
106
105
105
104
104
104
104
105
107
108
109
110
111
113
116
118
120
122
124
127
129
131
134
136
138
141
143
145
147
149
150
151
151
152
153
153
153
152
152
151
150
148
146
144
143
141
139
138
135
133
131
128
126
124
121
118
116
114
112
110
109
108
107
106
105
105
104
105
105
106
106
107
108
110
111
113
115
117
119
122
125
127
128
131
133
132
143
145
139
142
150
150
144
148
153
152
146
148
154
155
151
150
152
150
149
147
144
141
139
137
135
132
129
127
126
124
122
121
118
116
115
112
112
112
102
100
108
105
99
102
107
105
106
108
113
114
110
112
116
116
117
121
123
124
128
131
132
133
137
140
142
142
144
146
148
150
151
152
152
153
154
153
152
152
151
150
148
146
144
142
140
138
136
134
132
129
127
125
123
120
117
116
113
111
110
109
107
106
105
105
105
105
105
105
106
106
107
108
110
111
114
116
118
120
122
124
126
127
131
133
137
139
142
144
146
147
149
151
152
152
153
153
153
153
153
152
152
151
150
148
146
144
143
140
137
135
132
129
127
125
123
120
118
116
114
113
111
110
107
106
105
104
103
103
103
103
104
104
106
106
109
110
112
115
118
121
123
125
127
130
131
134
137
139
141
144
145
147
148
150
152
153
154
154
154
154
153
153
152
151
149
148
146
144
142
140
138
135
132
130
128
126
124
121
118
116
114
112
110
108
106
105
104
103
102
102
102
103
104
106
107
108
111
112
114
116
118
120
122
124
127
128
131
133
135
138
140
143
145
147
148
150
151
152
153
153
153
153
153
152
152
151
150
148
148
145
143
140
138
136
133
131
128
127
124
121
119
116
113
111
109
107
107
105
105
104
104
104
104
105
105
106
107
108
109
111
114
116
118
120
122
125
127
129
131
133
136
138
140
142
144
146
147
149
150
151
152
152
153
153
153
152
151
149
148
147
146
144
143
141
139
136
133
131
128
126
124
122
121
118
116
114
111
110
108
106
106
104
104
104
104
104
105
106
107
108
109
111
112
114
116
119
120
124
126
126
134
136
133
139
145
143
143
146
149
150
147
147
152
154
152
152
152
151
151
151
148
145
144
142
142
140
138
136
134
132
130
128
125
123
120
118
115
115
113
113
111
102
103
111
106
101
105
105
107
104
105
111
110
107
111
114
115
118
121
123
124
128
132
134
135
136
140
142
144
144
147
148
149
150
151
151
151
152
152
152
151
151
150
149
148
145
144
141
138
136
134
131
129
127
125
123
121
119
116
115
112
111
109
108
106
105
105
104
104
104
105
106
107
108
110
111
113
114
116
117
119
122
124
127
128
131
133
135
138
140
141
143
145
147
149
150
152
152
153
154
154
153
153
152
150
149
147
146
144
143
141
138
136
134
131
129
127
124
122
119
117
114
112
110
109
108
106
106
105
105
105
105
105
105
105
106
107
109
111
112
114
116
119
121
123
125
127
129
132
135
138
141
142
145
147
148
149
150
151
152
152
153
153
153
153
152
151
150
149
147
145
143
140
138
135
133
130
128
126
124
121
119
117
116
114
112
111
108
107
106
105
105
104
104
104
105
105
107
107
108
109
111
113
116
118
121
123
125
127
130
132
134
136
139
141
143
145
147
148
150
151
152
153
154
153
154
153
152
152
150
149
147
146
144
142
140
137
135
133
130
127
126
122
119
117
115
113
111
109
107
106
104
103
102
101
102
102
104
105
107
108
109
111
112
115
116
118
121
123
125
127
129
132
134
137
139
142
144
146
147
148
150
151
152
152
153
152
153
152
152
152
150
150
148
147
144
141
139
136
134
132
129
127
125
123
120
118
115
112
111
109
108
107
107
106
105
105
104
104
104
105
105
106
108
110
111
113
115
117
120
122
125
127
129
132
134
137
138
140
143
145
147
148
150
152
152
153
154
154
154
152
152
151
151
149
149
147
144
143
140
137
134
132
128
127
124
122
120
118
116
114
112
110
109
108
106
105
104
104
104
104
104
105
106
107
108
110
111
114
116
118
120
123
125
127
129
132
134
136
139
140
142
144
146
148
148
150
150
152
152
153
152
152
152
151
149
148
146
144
143
141
140
138
136
134
131
129
127
125
122
120
117
115
113
111
109
108
107
106
105
105
105
104
105
105
105
105
105
111
117
114
111
119
125
122
122
127
131
129
129
134
141
141
140
144
146
147
148
149
148
149
150
151
150
151
151
151
150
150
148
147
144
142
141
140
139
134
125
127
131
123
118
122
121
117
114
115
115
110
105
106
106
103
103
105
103
104
107
109
108
109
112
115
116
115
117
120
122
124
127
129
131
134
137
138
140
142
144
146
149
150
150
151
152
152
153
152
152
151
150
149
148
146
144
143
141
139
138
135
132
130
127
126
123
120
119
116
114
112
111
109
108
107
106
106
105
105
105
105
105
105
107
108
110
112
114
116
118
120
122
124
126
127
130
134
136
139
141
144
145
147
148
150
150
152
153
153
153
153
153
153
152
150
149
148
146
144
142
140
138
136
132
130
127
126
123
121
119
117
114
113
111
108
107
106
105
104
104
104
103
104
105
106
106
107
109
111
113
115
118
120
122
125
127
129
132
133
135
137
140
142
144
146
148
149
151
152
153
153
153
153
153
152
152
151
149
148
146
145
144
141
139
137
135
132
129
127
124
121
118
117
115
112
110
109
107
106
104
103
102
102
102
103
104
105
106
108
109
111
113
115
117
119
121
124
126
128
131
133
136
139
141
143
145
147
149
149
151
151
152
153
153
153
153
153
152
151
150
149
148
145
143
140
138
136
133
131
128
126
124
122
120
117
114
112
109
109
107
107
105
105
104
104
104
104
104
105
106
107
109
110
112
114
116
119
121
124
126
128
130
132
135
137
140
142
144
146
148
149
151
152
153
154
154
154
154
153
151
151
150
148
146
145
142
140
138
136
133
130
127
126
124
122
120
118
116
113
112
110
109
107
106
105
105
104
104
105
105
106
107
108
109
111
112
114
116
118
121
122
123
125
129
136
135
134
141
145
144
144
147
151
150
147
152
155
154
153
153
153
152
152
149
146
145
144
142
141
138
136
134
133
130
127
126
123
120
118
115
113
112
111
111
107
101
107
109
101
102
105
107
107
105
110
114
111
110
114
116
118
121
124
125
127
131
133
134
135
138
141
144
145
146
148
148
149
150
150
150
151
152
152
152
150
150
150
149
146
144
140
139
137
135
133
130
127
126
124
121
119
116
114
112
111
109
108
106
105
105
104
104
104
105
105
106
108
109
111
112
113
115
118
120
122
124
126
128
131
133
135
138
140
142
143
145
147
150
150
152
152
153
153
153
153
152
151
150
149
148
146
145
143
141
139
137
134
132
129
127
125
122
120
117
115
112
111
109
108
106
106
105
105
105
104
104
104
105
106
107
109
110
112
114
116
119
120
122
125
127
130
132
135
137
140
142
144
146
147
149
150
151
151
153
153
153
153
153
152
152
150
149
147
146
144
141
139
137
134
131
129
127
125
123
121
119
116
114
112
110
108
106
105
105
104
103
103
103
104
104
105
106
107
108
111
113
115
118
120
123
126
127
130
132
135
137
138
141
144
145
148
149
151
152
153
153
154
154
153
153
152
151
150
148
147
146
144
142
140
138
135
133
131
128
126
123
120
117
116
114
111
109
108
107
105
104
103
102
102
103
104
105
105
107
108
110
111
113
115
117
119
122
125
127
129
132
135
137
139
142
144
146
147
149
150
151
152
153
153
153
153
153
152
151
151
149
148
146
144
142
139
137
135
133
130
127
126
123
121
118
115
113
111
109
109
107
107
105
105
104
104
104
103
104
104
106
107
109
111
113
115
118
120
122
125
127
129
132
135
137
139
141
143
145
147
148
150
151
152
153
154
154
153
152
151
150
149
148
147
144
144
141
139
137
134
131
129
127
126
124
122
119
117
115
113
111
110
108
107
106
105
105
105
105
105
105
106
107
108
109
111
113
115
116
119
121
123
126
127
131
133
135
138
141
143
144
146
148
148
149
151
152
153
153
153
152
152
151
150
148
147
145
144
142
140
139
136
134
131
129
127
124
122
120
118
115
114
110
106
110
114
107
102
108
110
102
102
106
107
103
103
110
114
113
113
117
120
121
125
127
127
129
132
134
136
139
141
143
145
147
148
150
150
152
151
153
156
152
144
151
155
147
144
149
147
143
141
142
141
134
129
130
127
124
123
122
118
116
117
115
111
109
109
109
107
104
105
105
105
105
106
106
108
110
111
111
112
114
117
119
122
124
126
128
130
133
135
137
139
141
144
146
149
149
149
151
152
153
153
153
152
152
152
151
149
148
146
145
143
141
139
135
133
130
127
125
122
120
118
116
114
112
111
109
108
107
106
106
106
106
104
104
105
106
107
108
109
111
113
116
118
120
122
123
126
128
131
133
135
138
140
142
144
146
146
148
150
152
153
152
153
153
153
153
152
151
150
148
147
145
143
140
138
136
133
131
129
127
125
122
120
118
116
114
111
109
107
106
105
104
103
102
103
103
104
104
105
106
108
110
112
115
117
120
122
125
127
129
130
133
134
137
140
142
144
146
148
149
152
152
153
153
153
153
153
152
152
151
149
148
146
145
143
141
139
137
135
133
130
127
125
122
120
117
115
112
110
109
108
106
104
103
102
102
102
103
104
105
107
108
110
111
113
114
116
119
121
123
126
128
130
133
135
138
140
143
145
147
148
149
150
151
152
152
153
153
153
152
152
152
151
149
148
146
143
141
139
136
134
132
129
127
125
122
120
117
114
112
111
109
108
107
106
105
104
104
103
104
104
105
105
107
108
110
111
114
116
119
122
124
126
127
130
133
135
137
140
142
144
146
148
149
150
152
153
154
154
154
153
152
151
150
149
148
146
144
142
140
138
135
133
130
127
127
125
123
121
118
117
114
113
111
109
108
107
106
105
104
104
104
105
105
106
107
108
110
111
113
115
117
119
122
125
126
127
134
139
134
138
145
147
145
146
149
151
149
148
154
156
153
152
153
152
151
149
147
144
143
142
141
139
136
134
132
130
127
125
123
121
118
116
114
112
111
111
111
104
101
109
107
101
103
106
107
106
105
112
113
110
111
116
117
119
123
125
126
129
132
134
135
137
140
144
144
146
148
150
149
150
151
151
151
152
153
152
151
150
149
148
146
144
142
139
137
135
133
130
128
127
124
122
119
118
115
112
110
109
107
106
106
105
105
104
104
104
105
106
107
108
110
111
113
114
116
118
121
123
125
127
130
132
135
137
139
141
143
145
147
149
151
152
153
153
154
153
153
152
151
150
149
148
147
145
144
141
139
137
134
132
129
127
125
122
120
117
115
113
111
110
108
107
106
106
105
105
104
104
103
104
105
107
108
110
111
113
115
118
120
122
124
126
128
132
135
138
139
142
144
146
147
149
150
152
153
153
154
154
154
153
153
152
151
149
147
145
144
141
138
136
134
131
128
127
125
123
120
118
116
114
112
110
107
106
105
105
104
103
103
104
104
105
106
107
108
110
111
114
117
119
121
123
125
127
129
131
134
135
138
140
143
145
147
149
150
152
152
153
153
153
153
153
152
151
150
150
148
147
145
143
141
140
137
134
131
128
126
123
120
118
115
113
111
109
107
106
104
103
102
102
102
103
103
105
105
107
109
110
111
113
115
118
120
123
125
127
130
133
135
137
140
142
144
146
147
148
149
150
151
152
152
153
153
152
152
152
151
149
149
147
144
142
140
138
136
133
131
128
126
124
121
118
115
113
111
110
109
107
107
105
105
104
104
104
104
105
105
107
108
109
111
113
115
118
120
123
125
127
129
131
134
136
139
141
143
144
146
148
149
151
152
153
154
154
154
153
152
152
151
149
148
146
144
142
140
137
134
132
129
127
126
124
122
120
117
116
113
111
110
108
106
105
105
104
104
104
105
105
107
107
109
110
111
113
114
117
119
121
123
126
127
130
133
135
138
141
143
145
147
147
149
150
151
152
152
153
153
153
152
151
150
148
147
145
144
144
140
135
138
141
133
126
129
129
120
116
118
117
111
106
111
113
108
105
106
106
105
105
104
104
105
106
108
107
110
112
114
116
119
122
124
126
128
131
133
138
136
132
139
148
142
142
150
151
150
149
154
157
153
150
153
153
150
150
150
147
144
145
144
139
137
136
134
131
127
125
124
121
119
116
114
112
111
109
108
106
105
105
105
105
105
105
105
106
107
109
110
111
112
114
116
119
121
123
126
127
130
133
135
137
140
141
144
146
148
149
150
152
153
154
153
154
153
153
152
150
149
147
146
144
142
140
138
135
133
131
129
126
124
121
119
118
115
113
111
110
109
108
106
106
106
105
105
104
105
106
107
108
109
111
112
115
116
118
120
122
124
127
129
132
134
138
140
141
143
145
146
148
150
151
152
152
153
153
154
153
153
152
151
149
148
146
143
141
138
136
134
132
128
127
125
122
121
118
116
114
111
109
108
106
105
103
103
103
103
104
103
104
105
107
108
110
112
114
117
119
121
124
126
128
131
133
135
137
140
142
144
146
148
150
151
152
153
153
153
153
153
151
151
150
150
148
146
144
142
141
139
137
134
132
129
127
124
122
120
117
116
113
112
110
109
107
105
104
103
103
103
104
104
105
106
107
108
110
111
113
115
117
120
122
125
127
130
132
135
138
140
142
144
147
147
150
150
152
152
153
153
154
154
154
153
153
152
150
148
146
144
141
139
136
133
130
127
126
123
121
119
116
113
111
110
109
108
107
106
105
105
104
104
104
104
105
106
108
109
111
113
115
117
120
121
124
126
127
129
132
134
136
138
140
143
144
146
148
150
151
152
153
153
153
153
152
152
151
149
149
147
145
144
141
139
136
134
131
129
127
126
123
121
119
116
114
111
110
108
107
105
105
103
103
103
104
105
105
106
107
109
110
112
114
116
118
120
122
125
127
127
130
135
141
139
139
146
148
146
146
149
152
150
148
152
155
152
151
151
150
149
149
146
144
142
141
140
138
135
133
131
128
127
124
122
119
117
115
113
111
110
110
110
105
100
107
107
101
102
105
107
107
106
111
116
112
114
118
120
122
126
127
127
130
134
137
138
140
142
146
147
147
149
150
150
150
151
151
152
153
153
152
151
150
149
147
145
142
140
138
135
133
130
128
127
124
122
120
118
115
113
111
109
108
107
105
105
105
104
105
105
105
106
108
109
111
111
113
115
116
118
121
123
125
127
129
132
134
136
139
140
143
145
147
149
151
152
153
153
154
154
153
153
152
151
150
148
147
146
144
142
140
137
135
132
130
127
125
122
120
118
116
113
111
110
109
108
106
106
105
105
104
103
103
104
106
106
108
110
111
113
115
117
119
121
124
126
129
132
135
138
140
142
144
146
147
149
150
152
153
153
153
154
154
153
153
152
150
149
147
146
144
141
139
137
134
132
129
127
125
123
121
119
117
115
112
110
109
107
106
105
105
104
104
104
104
105
105
106
107
109
111
114
116
118
120
123
126
127
129
131
133
136
138
140
142
144
146
148
150
151
152
153
154
154
154
153
153
152
151
150
148
147
145
143
142
139
137
134
132
128
126
124
122
119
115
113
111
110
109
106
104
103
102
102
103
103
104
105
105
107
108
109
111
113
115
117
120
122
124
127
129
132
134
137
138
141
143
145
147
148
149
150
152
152
153
153
153
153
153
153
151
150
148
147
144
142
139
137
135
133
131
128
126
123
121
119
116
114
112
110
109
108
107
106
105
105
105
104
105
104
105
106
107
109
110
112
114
116
119
121
124
126
128
130
132
135
137
140
142
145
147
149
150
152
153
154
155
155
154
153
153
151
151
149
147
145
144
142
139
136
134
131
129
127
126
124
122
120
118
115
113
111
110
108
107
106
105
105
105
105
106
106
107
108
109
111
112
113
115
117
119
120
122
125
127
129
131
134
137
140
142
144
145
147
148
149
149
151
150
148
157
157
148
149
154
151
144
145
148
144
138
137
140
138
131
129
127
125
122
120
116
113
112
111
109
108
107
106
106
105
105
105
105
104
106
107
110
113
105
107
118
117
113
120
127
127
127
130
136
137
134
136
142
141
143
146
147
147
150
153
151
150
152
154
154
152
151
150
149
147
145
143
141
139
138
136
133
130
129
127
124
122
118
117
114
111
110
108
107
105
105
104
104
103
104
104
105
106
107
109
110
111
112
114
117
119
121
124
127
129
131
134
135
137
139
141
144
145
147
149
150
152
152
153
153
154
153
153
152
151
150
148
147
145
143
140
139
136
134
131
129
127
124
122
120
117
115
112
110
109
108
106
106
105
105
103
104
103
103
105
106
107
108
110
112
114
115
118
119
122
125
127
131
133
136
138
140
143
144
146
148
149
151
151
152
152
153
154
153
153
153
152
151
150
147
145
143
141
138
135
134
131
129
127
125
123
121
119
116
114
111
110
108
106
105
105
104
104
104
104
104
105
105
106
108
110
112
114
116
119
121
123
126
127
129
132
134
136
139
141
143
146
147
150
151
152
153
153
153
153
153
152
152
151
150
149
147
146
144
142
140
138
136
133
130
127
125
122
120
118
115
113
111
109
108
106
105
103
103
103
103
104
104
105
106
108
109
110
112
114
115
118
120
123
126
127
130
132
136
138
140
141
144
146
148
149
150
151
152
152
153
153
153
153
152
152
151
150
148
146
143
141
139
137
134
132
129
127
125
122
120
117
115
112
112
111
110
108
106
106
105
105
104
104
104
105
106
107
108
110
112
114
116
118
121
123
125
127
129
131
133
136
138
141
142
145
147
148
150
152
152
154
154
154
153
152
152
151
150
149
147
146
144
142
139
136
134
131
129
127
125
124
122
120
117
115
112
110
109
107
106
105
104
104
104
104
105
106
107
108
109
111
112
114
116
118
120
122
124
127
128
130
132
136
144
142
140
146
149
147
147
149
153
152
148
152
155
154
151
150
149
148
148
146
143
142
141
138
136
133
130
128
127
124
122
120
117
116
114
112
110
109
109
108
106
99
105
108
102
102
106
107
108
106
111
118
115
115
119
122
124
127
129
129
131
136
139
140
141
143
147
148
148
149
150
150
150
152
153
153
153
153
152
150
149
147
146
143
141
138
135
132
130
128
126
124
122
120
118
116
114
112
110
108
107
106
105
104
105
104
105
105
106
107
109
110
111
113
114
116
119
121
123
125
127
129
131
133
135
137
139
141
144
146
148
150
151
152
153
154
153
153
153
152
151
150
149
148
147
144
143
140
138
135
132
130
127
125
123
120
118
115
113
111
110
108
107
106
105
105
104
103
103
103
104
105
107
108
110
111
114
116
117
120
122
124
127
129
131
134
136
139
141
143
145
147
148
149
151
152
153
153
153
153
153
152
151
151
149
148
146
144
143
140
138
135
133
130
128
126
124
121
119
117
114
112
109
108
106
105
105
105
103
103
103
104
104
105
105
107
108
110
113
115
117
119
122
125
127
129
131
133
136
138
140
143
144
147
148
150
151
152
152
153
153
153
153
152
152
150
150
148
147
145
143
141
139
137
134
132
129
126
123
121
119
116
114
112
110
109
107
105
104
103
103
102
103
103
104
105
106
108
109
111
112
114
116
119
121
124
126
128
131
133
136
138
141
143
144
146
148
149
150
151
152
153
153
153
153
153
152
152
150
149
147
144
142
140
138
135
133
130
129
126
124
121
118
115
114
112
111
110
108
108
106
105
105
104
104
104
104
105
106
107
109
111
112
113
116
119
122
123
125
127
129
132
134
137
139
141
144
146
147
149
151
152
153
154
154
153
153
152
151
150
149
148
146
144
142
141
138
136
132
130
128
127
125
122
120
118
116
113
111
110
108
107
106
106
105
104
105
105
106
106
107
108
110
111
112
114
116
117
121
122
124
126
127
137
139
133
139
146
145
141
145
150
148
145
149
156
155
151
152
153
152
150
149
146
145
144
144
141
139
137
135
132
130
128
126
123
120
118
117
116
116
105
103
111
108
100
104
107
105
103
106
110
109
105
107
111
111
112
117
118
120
125
128
128
129
131
134
137
138
139
142
144
146
147
148
149
150
151
152
151
152
152
152
152
150
149
147
145
143
141
139
137
135
133
131
127
127
124
122
120
117
115
113
111
110
108
106
105
104
104
104
104
105
105
107
108
109
110
111
112
115
116
119
121
123
126
127
130
133
135
137
139
141
144
146
149
150
152
153
153
154
153
154
153
152
151
149
148
147
145
144
142
140
138
136
133
131
129
127
124
122
119
117
114
112
110
110
108
107
107
106
106
105
105
105
105
106
107
109
110
111
112
114
116
118
119
121
124
127
129
133
135
138
140
142
144
145
147
148
150
150
152
153
153
154
154
153
152
152
151
150
148
146
144
142
139
137
135
131
129
127
125
123
121
119
116
114
112
110
108
107
105
105
104
103
103
103
103
104
105
106
107
109
111
114
116
118
121
123
126
127
130
132
134
136
139
141
143
146
147
149
150
152
153
153
154
154
154
153
153
152
151
149
148
146
144
142
140
138
136
133
130
127
125
122
119
118
115
113
111
109
108
106
105
103
102
102
103
104
104
105
106
107
109
110
111
114
115
118
120
123
125
127
129
132
134
137
139
141
144
145
147
148
150
150
151
152
153
154
153
153
153
152
151
151
149
147
144
142
140
138
135
132
130
127
126
123
120
118
115
112
111
110
108
107
106
105
104
104
104
103
103
105
106
107
108
109
111
113
116
118
120
122
125
127
129
131
134
136
138
141
143
145
146
148
149
151
152
153
153
154
153
152
151
151
150
149
148
146
144
142
139
137
134
132
129
127
126
124
122
120
117
115
113
111
110
109
107
104
105
104
105
105
105
105
106
108
109
110
111
113
115
117
119
122
124
126
127
131
132
134
136
140
147
145
143
148
152
150
149
151
155
153
149
151
154
152
149
149
146
145
145
143
139
138
136
133
132
128
126
124
122
120
118
116
114
111
111
109
107
108
107
107
105
99
104
109
103
104
108
110
113
111
116
122
120
119
124
126
127
130
132
133
135
140
142
144
144
146
149
150
150
150
151
151
152
152
153
152
151
151
149
147
145
143
141
139
136
134
132
129
127
125
123
121
119
116
114
112
110
108
107
106
105
104
104
104
104
104
105
106
108
109
110
112
113
115
117
120
122
124
127
128
131
133
136
138
140
142
144
146
149
150
151
152
153
154
153
153
153
152
152
150
149
147
146
144
143
140
138
135
133
130
127
126
123
121
118
116
114
112
111
109
108
107
106
106
105
104
104
103
104
105
106
107
109
110
112
114
116
118
120
122
125
127
130
133
136
138
140
143
145
146
148
149
151
152
153
154
154
154
153
154
153
152
150
149
146
145
142
140
138
135
133
130
128
126
124
121
119
118
116
114
111
109
107
106
105
104
103
103
103
104
103
103
104
105
107
109
112
114
117
119
121
124
126
128
130
132
135
138
139
142
144
146
148
149
151
152
153
153
154
154
154
153
153
151
150
149
147
145
143
141
139
137
134
132
129
127
124
122
120
117
115
112
111
109
107
105
104
103
102
102
103
104
104
106
106
108
109
111
112
114
116
118
120
123
125
127
130
133
135
137
140
142
144
146
148
149
151
152
152
153
153
154
153
153
152
152
151
150
148
145
143
141
139
136
134
132
129
127
124
122
119
116
114
112
110
109
108
107
106
105
105
104
104
104
104
105
106
107
109
110
112
114
117
119
121
123
126
127
129
132
134
136
139
141
143
145
147
149
150
152
153
154
154
154
153
152
152
151
150
149
147
146
144
141
139
136
133
131
129
127
126
123
121
119
116
114
111
109
108
106
106
105
104
104
104
104
103
102
106
114
111
107
114
119
115
115
121
125
123
123
129
136
136
136
140
143
144
146
146
146
147
149
151
151
151
152
152
151
151
151
149
147
146
145
145
145
140
131
135
138
128
124
127
126
121
118
119
120
113
108
110
109
105
105
106
103
104
106
107
105
106
108
110
111
111
113
116
118
120
123
125
127
129
132
134
135
138
140
143
145
146
147
148
148
149
150
150
151
151
152
152
151
150
149
147
146
144
142
140
138
136
133
132
129
127
125
123
121
119
116
114
112
111
109
108
106
106
104
104
104
104
105
106
107
109
110
111
113
114
116
118
122
124
127
127
130
133
134
137
138
141
143
145
148
149
150
152
152
153
153
153
153
152
151
150
149
148
146
145
144
142
139
137
134
132
129
127
125
122
120
117
115
113
112
110
109
108
108
106
106
106
105
104
104
105
106
107
108
110
111
114
116
118
119
122
124
126
129
131
134
136
139
141
143
145
147
149
150
151
152
153
153
153
153
153
152
152
151
149
148
146
144
142
140
137
135
132
130
127
125
123
121
119
117
114
111
110
108
106
105
104
103
103
103
103
104
104
105
105
107
108
111
113
116
118
121
123
126
127
130
132
134
137
139
141
143
145
147
149
151
151
152
152
153
153
153
152
152
151
150
149
147
146
144
142
140
138
136
134
131
128
126
123
121
119
116
114
111
110
109
107
105
104
103
102
102
104
104
105
106
107
108
110
111
113
114
116
119
121
124
126
128
131
134
137
139
142
144
146
147
149
150
151
152
152
153
154
154
153
153
153
151
150
148
146
144
142
139
137
135
132
129
127
125
123
120
117
114
112
111
110
109
107
106
106
105
106
105
105
105
106
107
108
109
110
111
114
115
117
119
121
123
126
127
130
132
136
137
140
141
144
145
147
149
150
151
153
154
154
153
153
153
152
152
150
149
147
145
143
141
138
134
132
130
127
126
124
121
119
117
114
112
110
109
107
106
105
104
103
103
104
104
105
106
107
108
110
111
114
115
117
119
122
124
126
128
130
132
136
137
137
146
148
143
146
151
151
149
150
152
153
150
149
153
153
149
148
147
145
145
144
141
138
136
134
132
130
127
124
122
120
117
116
114
111
111
109
108
106
105
106
107
100
99
108
106
102
106
109
112
112
112
120
123
121
123
127
128
130
133
134
135
139
142
144
145
146
148
151
151
150
150
152
152
152
152
151
150
151
150
147
145
143
141
139
137
134
132
129
127
125
123
121
119
117
115
112
110
109
107
106
105
104
104
103
104
104
105
107
109
110
111
111
113
115
117
120
122
124
127
129
131
134
135
138
139
142
144
146
148
150
151
152
153
153
154
153
153
152
151
150
149
148
146
144
143
141
138
136
134
131
128
126
125
122
119
117
115
113
111
109
108
107
107
106
105
105
104
104
104
105
106
107
109
110
112
114
116
118
120
122
125
127
130
133
136
139
141
143
145
147
148
149
150
152
153
153
153
154
154
153
152
151
150
149
147
145
143
141
138
136
133
131
129
127
125
123
120
118
116
113
111
109
107
106
105
105
104
104
103
103
103
105
105
106
107
110
112
114
117
119
121
123
126
127
130
132
135
137
139
142
144
146
148
150
151
152
153
154
154
154
154
153
153
152
151
149
147
145
144
142
139
138
135
133
130
127
124
122
120
117
115
112
111
109
108
106
105
103
102
102
102
103
104
106
106
108
109
111
112
114
116
118
121
123
126
127
130
132
135
137
140
142
144
146
148
149
151
152
153
153
153
153
153
153
152
151
150
149
148
145
143
141
139
137
134
132
129
127
125
122
119
117
114
112
111
109
108
107
106
105
105
104
105
104
105
105
106
107
108
110
111
114
116
118
121
123
125
127
129
132
134
137
139
141
144
145
147
149
150
152
153
154
154
154
153
153
152
150
150
149
147
145
144
141
139
136
134
131
128
127
125
123
121
119
113
118
119
110
106
111
111
103
103
106
106
100
101
107
110
107
107
111
112
114
116
117
118
121
124
126
128
131
132
135
138
141
144
144
146
148
149
151
156
150
145
154
156
149
148
155
151
148
147
149
149
141
138
139
135
131
131
129
125
124
124
121
117
115
114
113
110
107
106
106
105
104
103
103
104
105
106
107
108
110
111
114
116
117
119
121
124
126
127
130
131
134
136
139
141
143
144
146
148
149
150
151
151
152
152
152
152
152
151
150
149
148
145
143
141
139
137
134
132
129
127
125
123
121
118
116
113
112
110
109
108
106
104
104
104
105
105
104
106
107
110
111
112
113
114
116
118
120
122
125
126
129
131
133
135
137
140
142
144
146
148
150
151
152
153
153
152
152
151
151
151
151
149
147
145
144
143
141
137
135
132
130
127
125
123
120
118
116
114
112
110
109
108
107
106
106
105
105
104
104
105
105
106
108
109
111
113
115
118
120
121
123
126
128
131
134
136
139
141
144
145
147
148
149
151
152
153
153
153
153
153
152
152
151
149
148
146
144
142
139
137
135
132
130
127
126
123
121
119
117
115
112
111
109
107
106
105
105
104
103
103
104
105
105
106
107
108
110
113
115
118
120
123
125
127
129
131
134
135
138
140
142
144
147
148
150
152
152
153
154
154
154
153
153
152
151
149
148
146
144
142
141
138
136
134
131
128
126
123
121
118
116
114
112
110
108
107
105
104
103
102
103
103
103
105
106
107
108
110
111
113
114
117
119
122
124
126
129
131
134
136
139
141
143
145
147
148
150
151
152
153
153
153
153
153
153
152
151
150
149
147
145
142
140
138
135
133
130
127
126
123
121
119
116
114
111
111
109
108
107
106
106
105
105
105
104
105
105
107
107
109
111
112
114
117
119
121
124
126
128
131
133
135
138
140
142
144
146
148
150
151
152
152
154
154
154
153
152
152
151
150
148
147
145
143
141
138
135
132
130
127
126
124
122
120
117
115
114
112
110
108
107
106
105
105
104
104
104
105
106
107
108
109
111
113
115
117
119
121
123
126
127
131
132
134
137
139
141
149
148
144
149
153
151
150
152
154
153
149
150
153
151
148
147
146
144
144
142
138
135
134
132
130
127
125
122
120
118
116
114
112
110
109
108
107
107
107
106
106
99
103
109
104
103
108
111
113
112
116
124
122
121
126
128
130
133
135
136
138
142
145
146
147
148
151
152
151
151
151
152
151
152
151
150
150
149
147
145
143
140
139
137
134
132
130
127
126
123
121
119
117
115
113
111
110
108
107
106
105
105
105
105
105
106
107
108
109
110
111
112
114
116
118
121
123
126
128
131
133
135
138
139
141
143
146
147
149
151
152
153
153
154
154
154
153
153
152
150
149
147
145
143
141
138
136
133
131
127
126
124
122
120
116
114
112
111
110
109
107
106
106
106
105
105
104
103
105
105
107
109
111
111
114
117
118
120
122
124
127
129
132
135
137
140
141
144
146
148
148
149
151
152
153
153
154
154
153
153
152
151
149
148
146
144
142
139
137
134
131
128
127
124
122
119
118
115
113
111
109
107
106
105
104
104
103
103
103
104
105
105
106
108
109
111
114
116
119
121
124
126
128
130
132
134
137
139
141
143
144
147
149
150
151
152
153
154
153
153
152
152
151
150
149
147
146
144
141
140
137
136
133
131
127
125
123
120
118
115
113
111
110
107
106
105
103
102
102
102
103
104
105
106
107
109
110
112
113
116
118
120
123
125
127
130
132
135
137
140
142
144
145
147
148
150
151
152
152
153
153
153
153
152
152
150
150
148
146
144
141
139
137
134
132
130
127
125
123
120
118
115
113
111
109
108
107
106
105
105
104
104
104
104
105
106
107
108
109
111
113
116
118
120
123
125
127
129
132
134
136
138
141
143
145
147
148
150
151
152
153
154
154
154
153
152
151
150
148
147
145
140
146
145
134
132
135
131
124
124
125
122
114
114
118
116
110
108
108
106
106
105
103
102
103
104
105
105
107
108
110
111
114
116
118
120
123
125
128
132
127
128
140
139
136
142
148
147
147
149
154
154
149
151
153
152
151
152
151
148
149
149
146
144
143
142
140
137
133
132
129
127
123
121
118
117
115
113
111
109
109
107
107
106
105
104
104
104
104
105
106
107
109
111
113
115
116
119
122
124
127
129
130
132
135
137
139
141
143
145
147
148
150
150
151
151
152
152
152
152
151
151
150
149
147
145
143
141
139
136
134
132
129
127
126
124
121
119
117
115
112
111
109
108
106
106
105
104
104
104
106
106
107
108
110
111
112
113
115
118
119
122
124
126
128
131
134
136
138
140
141
144
146
148
150
151
152
153
153
154
153
153
152
152
150
149
147
146
144
143
140
138
135
133
130
128
126
124
122
119
117
115
112
111
109
108
107
106
106
105
105
104
104
104
105
107
108
109
111
113
115
116
119
121
123
126
127
130
133
136
138
141
143
145
147
148
150
151
152
152
153
153
154
153
153
152
151
150
148
146
144
141
139
137
135
133
130
128
126
124
122
120
118
115
114
111
110
107
106
105
105
104
104
104
104
105
106
106
107
108
110
112
114
116
119
121
124
126
128
130
133
134
137
140
143
145
146
148
150
152
153
154
154
155
154
154
153
153
152
150
149
147
145
142
140
138
136
134
131
129
126
123
121
118
116
114
111
110
109
107
106
104
103
102
102
103
104
105
106
107
109
110
111
113
115
117
119
121
123
126
127
130
133
135
138
140
142
144
146
148
149
150
151
152
153
153
153
153
153
152
152
151
150
148
145
143
141
139
136
134
131
128
127
124
121
119
116
113
111
110
108
107
107
106
105
104
104
104
104
104
105
106
108
109
111
113
115
116
119
121
124
127
128
131
132
135
137
139
141
143
145
147
149
150
151
152
153
153
153
153
152
151
150
149
148
147
144
143
141
